当前位置: 移动技术网 > IT编程>网页制作>CSS > vue需要被缓存的组件在登录权限验证拦截,登录完成后没有加载数据,只需要获取一次数据(问题解决)

vue需要被缓存的组件在登录权限验证拦截,登录完成后没有加载数据,只需要获取一次数据(问题解决)

2018年03月31日  | 移动技术网IT编程  | 我要评论

问题点:

1.组件实例是需要缓存的

2.组件数据加载时需要登录权限

3.组件被拦截后没有再次获取数据

解决方式:

对于以上三个问题需要分解解决。

1.组件需要缓存的话直接可以 在路由中配置相关元信息字段,然后在路由渲染出口添加路由缓存标签

2.组件数据加载时需要登录权限:这个实现的方式比较多,①可以定义接口返回码,根据返回码确定是否需要登录,然后做相应跳转。②使用vue-resource或者axios时配置全局拦截器,当然也必须结合缓存确定登录状态,来实现拦截跳转。③在组件生命周期钩子中判断登录状态需要结合缓存,实现拦截跳转。

3.解决了前两个问题后,第三个问题来了,拦截后的组件实例在登录完成后不会加载数据,因为该组件已经被缓存了,除非在activated函数中获取数据(这样会违背缓存的初衷),所以解决凡是就是:在mounted中和获取数据,在拦截时将本组件手动销毁,当然在销毁之前(beforeDestroy)做跳转。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网