微信小程序自己並無提供相似於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地址vue