vue.js - 防止 Vue 组件内的路由更改

标签 vue.js vue-router

是否可以防止 Vue 组件内的路由更改(不在我的路由器文件内)?

我的情况使用相同的组件,但 URL 发生变化 (/users/1 -> /users/2)

Vue.extend({
  data: () => ({
     active: true
  }),
  beforeRouteLeave(to, from, next){
     if (this.active) {
        // do not redirect
     } else {
        next();
     }
  }
})

我的理解是,这在导航 URL 时不起作用,但 View /组件保持不变。

最佳答案

我需要使用 beforeRouteUpdate 而不是 docs 中所述的 beforeRouteLeave

beforeRouteUpdate(to, from, next) {
    if (this.active) {
      next(false);
    } else {
      next();
    }
},

关于vue.js - 防止 Vue 组件内的路由更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67859621/

相关文章:

vue.js - 使用 v-if (vue.js、vue-router)处理模板中的后退按钮?

javascript - Vue : events not working and elements disabled

vue.js - 仅在提交时验证 vuetify 文本字段

node.js - 如何通过node.js对Windows AD用户进行身份验证?

vue.js - 在长时间 api 调用完成之前更改路由会覆盖 vuex 存储

vue.js - 路由器使用 nuxt-i18n 在 nuxt 中推送区域设置路由

javascript - 将字符串变量中的 <a> 链接替换为 <nuxt-link>

typescript - "ReferenceError: process is not defined"尝试在 vue 组件中使用 proto-loader 和 grpc-js 加载 grpc 包

javascript - 如何在元素的参数中使用变量?

vue.js - 如何在 Vue.js 中的组件之间传输数据?