Vue路由第二次进入页面后created和mounted不执行

使用beforeRouteEnter导航守卫:在组件定义时,通过beforeRouteEnter导航守卫来确保在路由进入组件之前执行相应的代码。例如

export default {
  data() {},
  beforeRouteEnter(to, from, next) {
    next(vm => {
      // 在组件实例化之前执行一些逻辑
      vm.customLogic();
    });
  },
  created() {
    // 此时`created`钩子函数将会执行
  },
  mounted() {
    // 此时`mounted`钩子函数将会执行
  },
  methods: {
    customLogic() {
      // 定义在`beforeRouteEnter`中调用的自定义逻辑
    },
  },
};

  1. 使用beforeRouteUpdate导航守卫:如果你已经进入了组件并且下一次访问同一个组件,可以使用beforeRouteUpdate导航守卫来执行相应的代码,如下所示:
    export default {
      data() {},
      beforeRouteUpdate(to, from, next) {
        // 执行一些逻辑
        this.customLogic();
        next();
      },
      created() {
        // 第一次进入页面时,`created`钩子函数将会执行
      },
      mounted() {
        // 第一次进入页面时,`mounted`钩子函数将会执行
      },
      methods: {
        customLogic() {
          // 定义在`beforeRouteUpdate`中调用的自定义逻辑
        },
      },
    };

    通过以上方法,可以确保在Vue路由中多次进入同一个页面时,createdmounted钩子函数都能被正确执行。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值