2017-07-16 45 views
0

我正在嘗試學習vue/vue-cli來製作單頁面應用程序。爲什麼在VueJs SPA中使用狀態管理?

我使用的是默認vue init webpack

我想在多個組件使用的一些數據。我也想在多個地方使用一些「計算」變量,而不必「重新計算」它們。

對於共享數據,每個人似乎都會推薦一個狀態管理系統,例如Vuex(或簡單對象的更簡單的替代方法,但是從我所瞭解的普通對象不能共享一個計算結果,並且每個組件都必須重新計算自己計算)。因爲它是一個SPA,我認爲有一個焦點是App.vue,爲什麼我不能只擁有所有'數據'變量,以及我在App.vue中的「計算」變量,以及任何其他組件只需通過$ root.SharedData或$ root.MyComputed或類似的東西訪問我需要的數據?

我誤會了什麼嗎?使用$ root有一個主要的缺點嗎?我找不到有關它的很多信息。

回答

0

要開始您可能會發現很容易在App.vue這樣的地方擁有所有的東西,但是在稍後的階段,在不同的組件/模塊之間尋求同步會很頭疼,總是建議將所有常見的東西駐留在'狀態'中,避免使用動作和突變直接進行DOM操作。通過VUEX的狀態圖及其生命週期來了解國家管理的重要性,然而Vue js是輕量級的。