vuex中能直接修改state嗎
vuex中能直接修改state嗎
當我們使用vuex的時候,時不時能看到“更改Vuex中的store中的狀態(tài)唯一辦法就是提交mutations”,但是有沒有試想過,我們不提交mutations其實也能修改state的值?答案是可以的
我們可以直接使用如下方式;
this.$store.state.num=666;
其中,這樣修改的話,store中的state數(shù)據(jù)可以改變且是響應式,瀏覽器控制臺并無報錯信息輸出,但是不建議這樣做,原因如下:
官方文檔中也有描述,如下:
開啟嚴格模式,僅需在創(chuàng)建 store 的時候傳入 strict: true; 在嚴格模式下,無論何時發(fā)生了狀態(tài)變更且不是由 mutation 函數(shù)引起的,將會拋出錯誤。這能保證所有的狀態(tài)變更都能被調試工具跟蹤到。
所以,綜上,我們能夠得出結論,
使用commit提交狀態(tài)修改是為了配合開發(fā)者工具使用,使得狀態(tài)更好的被最終,保存狀態(tài)快照,實現(xiàn)時間漫游/回滾之類的操作。
然后前端面試中面試官也有可能會問到相關問題?=》請問可以直接修改vuex中的state的數(shù)據(jù)嗎?這個時候小伙伴們就應該知道怎么回答了。
在vuex中,不經過mutations能直接修改state中的數(shù)據(jù)嗎?為什么
不經過mutations不能直接修改state中的數(shù)據(jù),因為state是實時更新的,如果直接修改state中的數(shù)據(jù)是異步操作,當state異步還沒有執(zhí)行完,state的數(shù)據(jù)就有可能發(fā)生變化,會導致程序出問題,所以必須通過mutations限制state不允許異步操作。
在vue中使用vuex,修改state的值
1、 安裝 vuex
npm install vuex -S
2、在目錄下創(chuàng)建store文件
3、 在store.js編輯一個修改state的方法
然后在mian.js中全局引入
最后在組件中使用
這個的功能是運用mutations
修改state中的值
到此這篇關于vuex中能直接修改state嗎?的文章就介紹到這了,更多相關vuex修改state內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
vue中.env文件配置環(huán)境變量的實現(xiàn)
本文主要介紹了vue中.env文件配置環(huán)境變量的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-04-04前端登錄退出處理Token問題(獲取、緩存、失效處理)及代碼實現(xiàn)方法
token是一個用戶信息的表示,在登錄中將會從后端拿到token,然后用戶才可以進行往后的一系列操作,這篇文章主要給大家介紹了關于前端登錄退出處理Token問題(獲取、緩存、失效處理)及代碼實現(xiàn)的相關資料,需要的朋友可以參考下2024-01-01VUE異步更新DOM - 用$nextTick解決DOM視圖的問題
這篇文章主要介紹了VUE異步更新DOM - 用$nextTick解決DOM視圖的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11Vue集成three.js并加載glb、gltf、FBX、json模型的場景分析
這篇文章主要介紹了Vue集成three.js,并加載glb、gltf、FBX、json模型,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09Django+Vue實現(xiàn)WebSocket連接的示例代碼
這篇文章主要介紹了Django+Vue實現(xiàn)WebSocket連接的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-05-05