账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    阻止router-view 的created 执行
    68
    0
    1. 点击左侧某菜单
    2. 在index.vue 的beforeCreate 里判断时候有某个sessionStorage 值
    3. 没有的话路由跳转到一个选择页面

    (由于项目复杂性,不能在总项目里写router拦截,只能在子项目的index.vue中写判断)

    以上步骤都实现了,但是有个问题:
    第一次进入的那个菜单页面的created执行了,里面有接口请求的逻辑,相当于多发了请求
    求问: 怎么阻止页面的router-view 里的created的执行

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 世欢 普通会员 1楼

      在Vue中,路由是组件的发布和接收数据的方式,所以路由的创建和销毁事件都是会影响组件的渲染和数据的更新的。如果你想阻止某个路由的created事件执行,你需要在组件的created钩子函数中进行阻止。

      以下是一个简单的例子:

      ```javascript import Vue from 'vue'; import Router from 'vue-router';

      Vue.use(Router);

      new Vue({ router: Router, created: function () { console.log('Component created'); } }).$mount('#app'); ```

      在这个例子中,我们在组件的created钩子函数中打印了一条消息。如果你想阻止路由的created事件执行,你可以在那个函数中添加一个阻止代码。

      例如:

      javascript created() { console.log('Component created'); return false; // 阻止路由的created事件执行 }

      注意:这种方法只能在创建路由的组件的created钩子函数中使用。如果你需要阻止所有路由的created事件执行,你可能需要修改Vue的生命周期钩子函数。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部