前段时间做个webApp项目,给原生的webview用,项目使用vue-cli。
一些数据全局数据用到了VUEX,比如登录状态,用户数据,可是测试的时候发现刷新页面,这些数据全部丢失(虽然在webview中基本不会出现刷新的情况,但为了保险得解决)没办法,项目快做完了,赶紧补救。
想到了本地存储,将一些登录信息存到本地,当页面刷新,vuex里数据丢失后,重新从本地取。 可是页面中那么多地方用到了登录信息,怎么办。。。。。。抓耳挠腮了好久,想到一个办法,虽然页面很多,但是每个页面都有标题栏,标题栏是一个全局的组件。在这个组件里进行判断丢没丢。 期初写的时候很happy,解决了。可是有些个别页面出现了问题,总提示要登录。这是为什么呢??? 之前没注意过,后来发现是生命周期和数据请求搞错了。 页面中引用全局注册的组件时, 加载的顺序是:
页面beforeCreate》 页面created》 页面beforeMount》 全局组件beforeCreate》 全局组件created》 全局组件beforeMount》 全局组件mounted》 页面mounted》
页面中需要登录信息的数据请求要写在mounted中, 之前没注意写在了 created中。这时候全局组件还没加载,肯定没有登录信息啦。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。