【发布时间】:2020-06-08 13:13:19
【问题描述】:
我想在 VueJS 进行任何路由/挂载之前初始化一些基础数据。
现在我发现了 Global Navigation Guard router.beforeEach。但它不仅会在初始加载(页面加载)上触发,还会在触发的每个路由上触发。现在我可以输入某种if-statement 让代码只运行一次,但这不是我解决这个问题的首选方式:
// pseudo:
router.beforeEach((to, from, next) => {
if (state.initialized === false) {
await store.dispatch(init)
}
// the rest of my routing guard logic....
})
我不希望每次都运行 if 语句(知道它只会为真一次,之后永远为假)。
是否有官方方法让 (ajax) 代码只运行一次,在 vue 初始化之后(所以我可以访问 vuex 状态等),在任何路由开始之前。 p>
【问题讨论】:
标签: vue.js vuex vue-router