Vuex是狀態(tài)管理吁断,是為了解決跨組件之間數(shù)據(jù)共享問題的趁蕊,一個組件的數(shù)據(jù)變化會映射到使用這個數(shù)據(jù)的其他組件當中。如果刷新頁面仔役,之前存儲的vuex數(shù)據(jù)全部都會被初始化掉掷伙。
localStorage是H5提供的一個更簡單的數(shù)據(jù)存儲方式,之前是用cookie存放數(shù)據(jù)又兵,但是cookie的數(shù)據(jù)量太小任柜,所以就用localStorage,它可以有5M的限制沛厨,不受刷新頁面的控制宙地,長久保存。
所以逆皮,在用vue進行項目開發(fā)的時候宅粥,什么時候用到vuex呢?
當應用遇到多個組件共享狀態(tài)時候电谣,即:多個視圖依賴于同一個狀態(tài)秽梅,不同視圖的行為需要變更同一狀態(tài)。
vuex的官網(wǎng)也說了剿牺,對于頁面之間的傳參對于多層嵌套組件將會很繁瑣企垦,而且對于兄弟組件之間的狀態(tài)傳遞無能為力。所以就將這些組件的共享狀態(tài)抽取出來牢贸,以一個全局單例模式管理竹观,即vuex。
vuex和全局變量的區(qū)別:
1潜索,【響應式】vuex的狀態(tài)存儲是響應式的臭增,當Vue組件從store中讀取狀態(tài)的時候,若store中的狀態(tài)發(fā)生變化竹习,那么相應的組件也會得到高效更新誊抛。
2,【不能直接改變store】不能直接改變store的變化整陌,改變store中狀態(tài)的唯一途徑是commit?mutation拗窃。方便于跟蹤每一個狀態(tài)的變化。