微信小程序-------全局通信方案mobx
微信小程序本身并没有提供类似于vue
中的vuex
或者React
里的Redux
这样的全局通信方案,只在组件中有behaviors
这样的属性共享机制,用起来也不是很好,原因在于小程序中页面对象和组件对象是分开的,所以只有改变整体代码构架以component
组件为页面单位才符合behaviors
这样的机制,还是非常麻烦的。
网上也有很多大佬给出了很多的解决方案,但都非常的原始化,要么很不雅观,要么很不稳定(目前所有的解决方案原理都类似,通过遍历所有的页面和组件进行属性注入,是主流方案,没啥多说的)
而我想推荐的是wechat-weapp-mobx
利器,想必所有人都知道Redux
的大名,React
使用的数据管理库为Redux
。Redux
要解决的问题是统一数据流,数据流完全可控并可追踪。要实现该目标,便需要进行相关的约束。Redux
由此引出了dispatch
action
reducer
等概念,对state
的概念进行强约束。但是,他太繁琐,太要强,就显得不灵活了,Redux
是非常适合新手理解全局数据流的,因为很难,没错,麻烦,只有适应了麻烦的Redux
,再回头来看vue
里面的vuex
真的很简单(额~扯远了)
wechat-weapp-mobx
基于mobx
,啥是mobx
?这是一个和Redux
一样用于全局管理通信的库,但它更灵活
wechat-weapp-mobx的gtihub地址