標準用法
一開始是在插件里面使用 provide 注入(注冊)全局狀態(tài),然后在需要的時候使用 inject 提取出來。
本來挺好用的,但是遇到兩個小問題。
- main.js 里面使用多個插件,插件A里面使用 provide 注入 的狀態(tài),插件B里面似乎提取不出來。
- 按鈕的單擊事件里面,似乎也取不出來。
靜態(tài)對象
提取不出來怎么辦呀,就想了各種辦法,比如在同一級里面直接返回,在 setup 里面定義變量,先接收狀態(tài),然后事件里面就可以用了(通過定義的變量獲取狀態(tài))。
然后代碼寫的很難看。。。
后來發(fā)現了“靜態(tài)對象”?。ê孟袷腔A知識。。。)
就是在 js文件 里面用 export 返回一個 object,
然后組件或者插件里面 import 這個js文件,
于是這個 object 就變成了全局變量,任何位置都可以獲取,
當然任何地方也都可以修改,
同時也會影響其他使用的地方。
對比
前者是官方推薦的方法,但是有兩個小問題。
后者比較實用,但是似乎有人會說,這么做不規(guī)范,容易出現問題。
現在嘗試改成靜態(tài)對象的方法,用一段時間看看,會不會有啥問題。