当前位置: 首页 > news >正文

vue router 里push方法重写为什么要重绑定this

Vue Router 的push方法依赖this

Vue Router 的push方法内部通过this访问关键属性(如this.history):

// Vue Router内部简化实现

VueRouter.prototype.push = function(location) {

// 依赖this访问路由历史和配置

return this.history.push(location);

};

当你重写push时,若直接调用:

let origin = VueRouter.prototype.push

VueRouter.prototype.push = function (location, reslove, reject) {

    if (reslove && reject) {

        origin(this,location, reslove, reject)

       

    }

    else {

        origin(this,location, () => { }, () => { })

    }

}

this会指向全局对象(如window)或undefined(严格模式),导致this.history报错。

所以需显式将this绑定为 Vue Router 实例,确保this.history正确指向路由历史。

即:

let origin = VueRouter.prototype.push

VueRouter.prototype.push = function (location, reslove, reject) {

    if (reslove && reject) {

        origin.call(this,location, reslove, reject)

       

    }

    else {

        origin.call(this,location, () => { }, () => { })

    }

}

http://www.lryc.cn/news/581171.html

相关文章:

  • JVM与JMM
  • RAL-2025 | 清华大学数字孪生驱动的机器人视觉导航!VR-Robo:面向视觉机器人导航与运动的现实-模拟-现实框架
  • rpgmaker android js常用属性解析
  • UI前端大数据可视化实战:如何设计高效的数据交互界面?
  • FLAN-T5:规模化指令微调的语言模型
  • 职坐标:AI图像识别NLP推荐算法实战
  • 【学习笔记】MySQL技术内幕InnoDB存储引擎——第5章 索引与算法
  • 针对工业触摸屏维修的系统指南和资源获取途径
  • Spring Bean 控制销毁顺序的方法总结
  • 408第三季part2 - 计算机网络 - 计算机网络分层结构
  • 【性能优化与架构调优(二)】高性能数据库设计与优化
  • 从零开始开发纯血鸿蒙应用之探析仓颉语言与ArkTS的差异
  • 深入理解Qt的SetWindowsFlags函数
  • Eureka、Nacos、LoadBalance、OpenFeign​之间的区别联系和协作 (附代码讲解)
  • ROS 的 move_base 模块介绍
  • 爬虫-web请求全过程
  • vs2010怎么做网站/网络事件营销
  • 怎么学习做网站/购买友情链接网站
  • 南京师范大学课程建设网站/南宁网站建设公司排行
  • 佛山做app网站/小吃培训去哪里学最好
  • 做 爱 网站小视频下载/游戏代理300元一天
  • 北京的制作网站的公司/免费外链网站seo发布
  • 个人网站备案地址/中国搜索引擎有哪些
  • 建设交通人才网站/网络推广方案例子
  • 网站开发网页前置开发/seo网站诊断分析报告
  • 天元建设集团有限公司上市了吗/天津seo排名收费
  • 响应式网站开发的/合肥瑶海区房价
  • 政协网站建设/兰州seo优化
  • 天府新区建站公司/互联网公司排名100强
  • 西安十大网络公司排名/关键词seo价格