月關(guān)寶盒
2023-03-18 16:10:51
我目前正在學(xué)習(xí) Vue、Vuex 和 TypeScript,我必須說我對(duì)如何正確設(shè)置 Vuex 存儲(chǔ)有點(diǎn)困惑。該文檔根本沒有涵蓋 TypeScript 實(shí)現(xiàn)(我覺得文檔通常缺乏基本的 TypeScript 示例?)是什么讓我(再次!)在官方文檔之外的其他頁面上尋找解決方案(恕我直言,這不應(yīng)該發(fā)生如果一項(xiàng)新技術(shù)是直接通過官方資源學(xué)習(xí)的,因?yàn)樗鼞?yīng)該包含使該技術(shù)發(fā)揮作用所需的所有信息,對(duì)吧??。R虼?,當(dāng)我在萬維網(wǎng)上尋找解決方案時(shí),我遇到了以下模式:在bezkoder.com上,他們使用裝飾器將vuex-module-decoratorsVuex 商店模塊定義為類。然后,他們?cè)俅问褂醚b飾器,但這次是從vuex-class,以從他們的 Vue 組件訪問各自的狀態(tài)、突變和動(dòng)作。這個(gè)解決方案似乎非?!癟ypeScripty”,因?yàn)樗鼈兪褂昧斯俜?Vue TypeScript 文檔中的類和裝飾器。在itnext.io(Medium.com 網(wǎng)站)上,他們使用所謂的“直接商店”和direct-vuex. 在這里,他們以更“JavaScript”的方式定義商店本身,因?yàn)樗袪顟B(tài)、變更和操作都作為普通對(duì)象傳遞給商店實(shí)例。在dev.to和codeburst.io(另一個(gè) Medium.com 網(wǎng)站)上,他們使用普通的 TypeScript 功能來創(chuàng)建他們的商店。因此,他們?cè)O(shè)置了很多常量enums,并在一堆不同的文件中strings定義了幾個(gè),然后將這些文件全部導(dǎo)出并再次導(dǎo)入到每個(gè)模塊的索引文件中,然后創(chuàng)建相應(yīng)的 Vuex 模塊。interfaces這個(gè)解決方案在某種程度上是“TypeScripty”和“JavaScripty”解決方案的混合體。似乎這種方法創(chuàng)建了最多的樣板代碼。所以現(xiàn)在,作為一個(gè) Vue 初學(xué)者,我有點(diǎn)困惑,我有以下問題:我應(yīng)該更喜歡哪種方法(1、2 或 3 或者是否有其他方法?),為什么?這些方法的優(yōu)點(diǎn)和缺點(diǎn)是什么?(我搜索了不同方法的比較,但找不到任何東西。)我應(yīng)該使用不是由官方 Vue 團(tuán)隊(duì)維護(hù)的插件嗎?我如何確定這些插件會(huì)得到更新以適用于未來的 Vue 版本?(例如,在作者的GitHub 存儲(chǔ)庫中vuex-module-decorators明確表示,該插件只是他的一個(gè)副項(xiàng)目,這讓我懷疑該插件是否會(huì)獲得長期更新。)為什么官方文檔中沒有相關(guān)內(nèi)容?為什么官方文檔缺少這么多 TypeScript 示例?有什么地方可以找到可靠的 TypeScript 示例和常見場景的解決方案嗎?
1 回答

MMMHUHU
TA貢獻(xiàn)1834條經(jīng)驗(yàn) 獲得超8個(gè)贊
我不被允許評(píng)論,所以我需要回答,但我也不能回答你所有的問題……我也遇到過類似的情況。我現(xiàn)在正在使用 vuex-module-decorators。正如您所寫的那樣,這感覺非常好,而且設(shè)置非常簡單,用法也是如此。
因?yàn)槲冶仨毥?jīng)常更新我的代碼并最終更新 Vue.js 等......我冒著使用這個(gè)(大)依賴項(xiàng)的風(fēng)險(xiǎn),因?yàn)槲抑牢铱赡懿坏貌辉谀硞€(gè)時(shí)候重建我的東西。但是使用 vuex-module-decorators 節(jié)省了我很多時(shí)間并且?guī)缀鯖]有給我?guī)砣魏螁栴}。我不知道其他解決方案,但我覺得這對(duì) vue 和 typescript 來說非常自然。
我希望這會(huì)有所幫助
添加回答
舉報(bào)
0/150
提交
取消