为什么要使用beforeRouteEnter而不是挂载?

拉普图

为什么beforeRouteEntervue-router中存在导航保护?是否存在beforeRouteEnter会被解雇但mounted不会解雇的情况?如果不是,在什么情况下,你会更喜欢使用beforeRouteEntermounted

年轻

mounted是任何Vue组件的生命周期挂钩,它将始终被触发。beforeRouteEnter或添加的任何其他生命周期挂钩的想法vue-router是允许您控制应用程序。

例如,假设您有一个名为的路由bar该路由具有真正特定的验证逻辑,如果先前的路由为foo则仅允许用户输入该验证逻辑,您可以将该验证逻辑插入此挂钩中,而不用检查路由中的每个路由更改全球卫队。

export default {
  name: 'Bar',
  beforeRouteEnter(to, from, next) {
    if (from.name === 'foo') {
      next(); // Calling next allow the route to proceed
    } else {
      next(false); // Don't allow the navigation
      // or
      next({
        name: 'foo',
        query: {
          from: 'bar'
        }
      }); // Redirect to any desired route as navigation made in $router
    }
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

为什么要使用IHttpActionResult而不是HttpResponseMessage?

为什么要使用isinstance()而不是type()?

为什么要使用uImage而不是zImage

为什么要使用var而不是类型?

为什么要使用jQuery on()而不是click()

为什么要使用Runnable而不是Thread?

为什么要使用移位而不是for循环?

为什么要使用资源而不是路由?

为什么要使用Char而不是String?

为什么要使用fillRect而不是translation?

为什么要使用责任链而不是简单的for循环?

为什么要使用“ int input {0};” 而不是“ int intput”;

为什么要使用null!=而不是任何东西!= null?

为什么我要使用异步而不是非异步方法

为什么要使用block \ grid而不是for循环?

为什么要使用Optional.of而不是Optional.ofNullable?

为什么要使用.toString(32)而不是.toString(36)?

为什么要使用工厂而不是“新工厂”?

为什么要使用ClassCastException而不是编译错误?

为什么要使用指针而不是对象本身?

为什么要使用非阻塞waitpid而不是阻塞等待?

为什么要使用迭代器而不是数组索引?

为什么要使用REST而不是基于SOAP的服务?

为什么要使用归约变量而不是原子变量?

在python中,为什么要使用日志记录而不是print?

为什么要使用Wget而不是浏览器?

为什么要使用空的抽象类而不是接口?

为什么 Laravel 主要使用 Facades 而不是单例?

关于for(),为什么要使用i ++而不是++ i?