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

编程式导航路由跳转到当前路由(参数不变),多次执行会抛出NavigatorDuplicated的禁告错误?

重写push与replace方法

编程式导航路由跳转到当前路由(参数不变),多次执行会抛出NavigatorDuplicated的禁告错误?

路由跳转有俩种形式:声明式导航,编程式导航

声明式导航没有这类问题的,因为vue-router底层已经处理好了

 为什么编程式导航进行路由跳转的时候,就会有这警告?

最新的vue-router引入promise。而promise对象我们需要传入一个成功或失败 回调

 通过push传递响应的成功,失败回调函数,可以捕获到当前的错误,可以解决

let result=this.$router.push({name:"search",params:{keyword:this.keyword},query:{k:this.keyword.toUpperCase()}},()=>{},()=>{}) 

这种写法:治标不治本,将来在别的组件当中push|replace,编程式导航还是有类似的错误。

为什么?

this 当前组件的实例(search)

this.$router属性 当前的这个属性,属性值VueRouter类型的一个实例,当在入口文件注册路由的时候,给组件实例添加$router|$route属性

push:VueRouter类的一个实例

而这个上下文对象就是VueRouter类的实例,而我们想要解决这个问题就需要重写push方法

这样不管你传了还是没有传,都没有问题了 

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

相关文章:

  • AppArmor无内核及系统日志的问题及解决
  • 本地更改配置ssh密钥和更改github网址
  • MATLAB函数封装2:QT调用封装函数
  • AJAX和JSON
  • 源码:SharedPreferences分析
  • 大二一个学期学这么点内容,没有概念,只有实操
  • AppWeb 身份验证绕过漏洞 (CVE-2018-8715)
  • 为什么监控摄像头画面不如手机拍摄视频画面清晰
  • EU GMP附录一与关键区域空气微生物取样方案及相关法规标准解读
  • 【软件测试】自动化测试日志问题该怎么解决?测试老鸟总结方案...
  • 快速响应 智慧应急|大势智慧亮相第三届武汉国际安全应急博览会
  • MySQL数据库——MySQL DELETE:删除数据
  • 管家婆安装导致电脑蓝屏问题解决方案
  • Compiler Lab1- 自制词法分析器
  • 构建API的战斗——与来自Kong的Marco Palladino的问答
  • 华为OD机试 - 对称美学(Python)
  • argparse.ArgumentParser
  • 大数据Doris(五):FE 扩缩容
  • react相关概念
  • 计算机的硬件系统的组成
  • Python基础-列表元组
  • 【校招VIP】拿到offer就躺平?转正前需要知道的这些事儿...
  • 考研拓展:汇编基础
  • 10 【Sass语法介绍-继承】
  • 魔兽worldserver.conf 服务端配置文件说明
  • 关于电信设备进网许可制度若干改革举措的通告
  • TuGraph 开源数据库体验
  • 【C++】18.哈希
  • C# 利用TabControl控件制作多窗口切换
  • 论文阅读《PIDNet: A Real-time Semantic Segmentation Network Inspired by PID》