使用Vue.observable()代替Vuex进行状态管理

3,374 阅读1分钟

最近在用uniapp做一个小程序,涉及到个人中心页面用户登录的功能,由于登录功能需要在多个页面均进行调用,于是封装成一个登录组件,因此遇到了多个组件状态共享的问题,Vuex可以解决这个问题,但是由于项目本身很小,故不想使用vuex。查看官方文档,了解到 vue.js 2.6 新增加的 Observable API ,通过使用这个 api,可以应对一些简单的跨组件数据状态共享的情况。
注意:适合小项目,不用vuex的情况下使用
官方文档对于vue.observable()的介绍

应用到自己的项目中:
1、创建store.js文件
2、子组件(封装的登陆组件)
(1)引入store.js
(2)获取到用户的头像、用户名后触发mutation进行状态管理
3、父组件
(1)引入自组件、store.js
(2)在computed中监听值的变化
(3)html中渲染
效果: