我在进行vue项目转uniapp项目重构路由时,使用uni-simple-router^2.0.6来替代vue-router,uni-read-pages^1.0.5附带一起安装。
按照教程下架插件,复制示例项目里的router.js,util.js。在自己项目的main.js导入{router,RouterMount}并按模板应用,导入、应用。
这时我完成了三个页面登录页、重置密码、注册,在我使用路由插件前我有使用uview的跳转组件运行跳转,路由插件导入后替换为this.$Router.push,做完的三个页面在push的时候正常跳转。
问题出在我在新加入了页面,然后想要this.$Router.push({name:"index"}),我发现跳转并没有起作用,还停留在原来的页面,多次点击尝试依然没有成功跳转到index,Hbuilder中也没有报错,在这push这一行下,写了log,也能正常输出,最早的三个页面还是能正确跳转。
仅将index替换为register,这行代码又能成功运行跳转到register页。我怀疑是我在pages的写的不对,在重写后依然无法成功执行this.$Router.push({name:"index"}),检查过确定没有写错,我再新增一个home页面,复制可以成功运行register页pages代码,仅替换路径和name。
再试依然无法成功执行push导航,使用uni-simple-router的routerErrorEach输出导航出错原因,输出error.type=2 ,msg显示正在跳转中,不能再次进行跳转,我在routerErrorEach使用router.$lockStatus=false;强制解锁,依然没有跳转。
只不过从每进行一次push报一次跳转中不能再跳转,变成两次push报一次跳转中不能再跳转,中间我进行了很多次尝试都无法成功跳转到index或home,最后我也不知道怎么想的,删除和重装现有的uni-simple-router和uni-read-pages,就能正常导航了。。。。
是的我确定我在重装插件前this.$Router.push({name:"index"})还是没有反应的,在
npm uninstall uni-simple-router
npm install -s uni-simple-router
后,就可以正常进行导航,之后我有重新建立新的页面和路径也不能成功push,再重装又都可以正常导航了。。。
总结下,现在就是我新建页面后不能正常导航,重装uni-simple-router就又可以了。
我技术能力有限,不知道这是什么问题导致的,如果有知道的朋友麻烦指点一下我。
1 个评论
要回复文章请先登录或注册
hhyang