vue3 provide + inject VS 靜態(tài)對象

標準用法

一開始是在插件里面使用 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)對象的方法,用一段時間看看,會不會有啥問題。

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容