- 39
- 0
技术栈:vue全家桶(vue 2.x)
背景:
父子视图,访问/的时候,异步加载
//视图层级:
<Root>
<App>
<Home>
<Components>
//路由配置如下:
const router = new Router({
routes: [
{
path: '/',
component: resolve => require(['Home.vue'], resolve),
children:[
{
path: '',
component: resolve => require(['components/Rock.vue'], resolve)
},
{
path: 'rock',
component: resolve => require(['components/HipPop.vue'], resolve)
},
...
]
}
]
})
父视图挂载之后,会发送请求向后端获取一个关键数据userId;
子视图挂载之后,会执行鉴权函数,通过之后就可以进行后续操作,鉴权函数需要依赖用户id
遇到的问题
第一次加载时,父视图还没获取到userId,而子视图已经开始执行鉴权函数了
自己的探索
方案一:把路由的加载模式改为同步模式。
治标不治本,父组件在获取的数据的时候,会存在延迟的情况,也就不能避免子组件挂载之后执行函数
方案二:依然是异步路由加载。
- 把
userId存到Vuex - 当父组件获取到
userId的时候,写到Vuex里 - 子组件,watch Vuex的
userId,如果有变动,就去执行鉴权函数 - 因为考虑到后续切换子组件,所以mounted钩子也要去执行鉴权函数
请教
有咩有其他比价好的方案?
0
打赏
收藏
点击回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
