vuex是狀態管理,是為了解決跨組件之間數據共享問題的,一個組件的數據變化會映射到使用這個數據的其他組件當中。如果刷新頁面,之前存儲的vuex數據全部都會被初始化掉。
localStorage是H5提供的一個更簡單的數據存儲方式,之前是用cookie存放數據,但是cookie的數據量太小,所以就用localStorage,它可以有5M的限制,不受刷新頁面的控制,長久保存。
所以,在用vue進行項目開發的時候,什么時候用到vuex呢?
當應用遇到多個組件共享狀態時候,即:多個視圖依賴於同一個狀態,不同視圖的行為需要變更同一狀態。
vuex的官網也說了,對於頁面之間的傳參對於多層嵌套組件將會很繁瑣,而且對於兄弟組件之間的狀態傳遞無能為力。所以就將這些組件的共享狀態抽取出來,以一個全局單例模式管理,即vuex。
vuex和全局變量的區別:
1,【響應式】vuex的狀態存儲是響應式的,當Vue組件從store中讀取狀態的時候,若store中的狀態發生變化,那么相應的組件也會得到高效更新。
2,【不能直接改變store】不能直接改變store的變化,改變store中狀態的唯一途徑是commit mutation。方便於跟蹤每一個狀態的變化。
