vuerouter beforeeach,vue中beforeRouteEnter

  vuerouter beforeeach,vue中beforeRouteEnter

  本文主要介绍了vue路由器的beforeRouteUpdate问题及其解决方法,具有很好的参考价值。希望对大家有帮助。如有错误或不足之处,请不吝赐教。

  

目录

   vue-router beforeRouteUpdate不触发beforeRouteEnter和beforeRouteUpdate的pit。

  

vue-router beforeRouteUpdate不触发

  官方beforeRouteUpdate的解释如下:

  beforeRouteUpdate(收件人,发件人,下一个){

  //当当前路由改变,但组件被多路复用时调用

  //比如对于一个带有动态参数的path /foo/:id,在/foo/1和/foo/2之间跳转时,

  //由于将呈现相同的Foo组件,组件实例将被重用。在这种情况下这个钩子将被调用。

  //可以访问组件实例` this。

  },

  不能触发的原因可以在评论的第二行和第三行找到。只会调用动态参数的路径(比如/foo/1和/foo/2)。

  我尝试对router动态处理

  vue。$router.push({ path: path,query:{ t:(new Date())} });

  在这种情况下,beforeRouteUpdate成功触发。

  考虑修改你的路由器链接写和添加一个参数。代码示例如下:

  Router-link: to= {path:/home ,query:{ t:newdate()} } home/router-link

  当然,最重要的是,这个方法是组件中的导航卫士,切换路由组件。根据你目前的代码功能,如果你想触发,

  除了路由器链路参数之外,还需要修改路由器视图。

  点火电极

  路由器视图/路由器视图

  /保持活力

  另外可以采用如下解决办法:

  观察:{

  $路线(至,自){

  console.log(到);

  console.log(来自);

  }

  }

  尝试相同的解决方案,vue-router路由跳转创建不执行,页面不刷新。

  

beforeRouteEnter和beforeRouteUpdate的坑

  Forerouteenter是新输入的路由。比如进入/login登录界面会触发钩子beforeRouteEnter

  更新路线时触发BeforeRouteUpdate。从首页进入登录界面不会触发这个钩子功能,但是一个父路由下的子路由跳转会触发这个钩子功能。

  以上个人经历,希望能给大家一个参考,也希望大家多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: