-
路由传递参数,path不可以结合 params 参数一起使用
path结合 params 参数一起使用会导致params参数失效,路径不会改变,页面不跳转,所以建议开发时用name属性,避免这种问题
-
指定 params 参数的可传可不传
配置路由时,如果已经为 params 参数设置占位,但路径跳转时却不传递params参数,路径会出现问题,无法跳转,
因此在配置路由时path时,在占位后面加个问号`?`,就能实现 params 可传可不传
-
传递的params参数是空串时的解决方法
可以使用undefined解决,params:{ keyword:this.keyword || undefined } 解决
-
路由组件内部能不能传递props属性
可以,三种写法
布尔值格式:只能传params参数
对象格式:额外给路由组件传递props,
函数格式:可以把query、params参数传递给路由组件
-
编程式路由跳转至当前路由时,多次执行会抛出 NavigationDuplicated 警告错误
声明式导航,不会出现这个报错,因为vuerouter 底层已经处理好了,编程式导航则会报错
治标
因为新版本的vuerouter中push 方法返回的是一个 promise 对象,只需给 push 添加一个空的成功回调和一个空的失败回调, 就可以解决(但治标不治本)
治本
重写VueRouter.prototype.push方法,手动给没有传成功和失败回调的情况,添加两个空回调