版權聲明:本文為CSDN博主「Osborn521」的原創文章,遵循 CC 4.0 BY-SA 版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/chinafire525/article/details/87166427
vuex 的設計是將數據存在一個對象樹的變量中,我們的應用(vue應用)從這個變量中取數據,然后供應用使用,當將當前頁面關閉, vuex 中的變量會隨着消失,重新打開頁面的時候,需要重新生成。
而,瀏覽器緩存(cookie,localstorage等)是將數據存到瀏覽器的某個地方,關閉頁面,不會自動清空這些數據,當再次打開這個頁面時,還是能取到之前存在瀏覽器上的數據(cookie,localstorage等)。
要使用 vuex 還是使用瀏覽器緩存,要看具體的業務場景。比如:像用戶校驗的 token 就可以存在 cookie 中,因為用戶再次登錄的時候能用到。而像用戶的權限數據,這些是有一定安全性考慮,且不同用戶的權限不同,放在 vuex 中更合理,用戶退出時,自動銷毀。
其次,vuex 中的 state 是單向的,也可以異步操作,這兩個沒有沖突。
vuex 中的 state 的設計思路是保證數據的一致性和連續性,而讓 state 中的值只能通過 action 來發起 commit,進而改變 state 中的值。
而,action 中是 同步 還是 異步,都是單向地改變 state 中的值。