国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - vue中更改state的值

瀏覽:109日期:2023-03-15 15:03:42

問題描述

我知道 actions 是處理異步的 我沒有異步操作 我的意思是 點(diǎn)擊一個(gè)按鈕之后 在methods 中直接更改state中的值 ,不通過actions 也不通過mutation 這樣符合vue的規(guī)范嗎

javascript - vue中更改state的值

問題解答

回答1:

關(guān)于為什么不能直接調(diào)用mutation方法或者直接修改state屬性,而是必須得通過commit來提交mutation呢?引用官方文檔:

再次強(qiáng)調(diào),我們通過提交 mutation 的方式,而非直接改變 store.state.count,是因?yàn)槲覀兿胍鞔_地追蹤到狀態(tài)的變化。這個(gè)簡單的約定能夠讓你的意圖更加明顯,這樣你在閱讀代碼的時(shí)候能更容易地解讀應(yīng)用內(nèi)部的狀態(tài)改變。此外,這樣也讓我們有機(jī)會(huì)去實(shí)現(xiàn)一些能記錄每次狀態(tài)改變,保存狀態(tài)快照的調(diào)試工具。有了它,我們甚至可以實(shí)現(xiàn)如時(shí)間穿梭般的調(diào)試體驗(yàn)。由于 store 中的狀態(tài)是響應(yīng)式的,在組件中調(diào)用 store 中的狀態(tài)簡單到僅需要在計(jì)算屬性中返回即可。觸發(fā)變化也僅僅是在組件的 methods 中提交 mutations。

可以看出來實(shí)際上是設(shè)計(jì)vuex的時(shí)候?yàn)榱俗粉檚tate的變化,約定一定要用commit去提交mutation觸發(fā)數(shù)據(jù)的變化的。你可以試一下官方的vue調(diào)試插件,叫Vue Devtools,可以直接看到組件,data,vuex等,也可以追蹤變化什么的,試一下估計(jì)你就知道為什么要這么做了。

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 平远县| 陈巴尔虎旗| 翁牛特旗| 南昌县| 怀安县| 抚顺市| 永定县| 邵阳市| 油尖旺区| 利津县| 公安县| 渑池县| 榆树市| 福州市| 定襄县| 阳原县| 龙山县| 朝阳区| 黔西| 仁寿县| 中西区| 淅川县| 峨眉山市| 鱼台县| 吴旗县| 沾化县| 定远县| 贵溪市| 白河县| 台南县| 观塘区| 民勤县| 呼图壁县| 新闻| 威信县| 临夏县| 南昌市| 巴南区| 闸北区| 会理县| 镇赉县|