微信小程序-------全局通信方案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地址