Vuex

Vuex繼承了store模式的思想,并做了更多的擴展,提供了更多的功能。
————————————————
Vuex 是一個專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測的方式發(fā)生變化。致力于管理項目中所有公用數(shù)據(jù)的狀態(tài)。
————————————————
Vuex是在store模式上的擴展,Vuex是狀態(tài)管理器
Vuex的核心功能:
1、State :Vuex中的 “ 唯一數(shù)據(jù)源 ”
2、Getter :Vuex 中的計算屬性,getter 的返回值會根據(jù)它的依賴被緩存起來,且只有當(dāng)它的依賴值發(fā)生了改變才會被重新計算。
3、Mutation :更改Vuex中數(shù)據(jù)的唯一方式,就是通過mutation進行修改,只支持同步操作。就像我們上面的例子一樣。
4、Action :當(dāng)我們需要異步更改數(shù)據(jù)時,通過 Action 提交的是 mutation,而不是直接變更狀態(tài)。
5、Module : 由于Vuex使用單一狀態(tài)樹,應(yīng)用的所有狀態(tài)會集中到一個比較大的對象。Vuex 允許我們將 store 分割成模塊(module)。每個模塊擁有自己的 state、mutation、action、getter甚至是嵌套子模塊——從上至下進行同樣方式的分割。
————————————————

Vuex的核心流程;:我們在Vue的組件中提交Dispatch操作,用以操作對應(yīng)的Actions方法,然后在Actions的方法中,通過提交Commit操作調(diào)用對應(yīng)的Mutation方法來修改對應(yīng)的狀態(tài)State,最后State的改變被渲染到我們的組件中


aHR0cHM6Ly92dWV4LnZ1ZWpzLm9yZy92dWV4LnBuZw.png

store.js

const store = new Vuex.Store({
    state: {
        personStrategy: true,
    },
    mutations: {
        personParameter(state, param) {
            state.personStrategy = param
        }
    },
    actions: {
        setPersonParameter({
            commit
        }, param) {
            commit("personParameter", param)
            return new Promise((resolve, reject) => {
                console.log("跳轉(zhuǎn)成功")
                resolve()
            })
        }
    }
})
export default store

分發(fā) Action

            store.dispatch('setPersonParameter', false).then(res => {
                    console.log("編輯", store.state.personStrategy)
                }) 
{{store.state.personStrategy }}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 安裝 npm npm install vuex --save 在一個模塊化的打包系統(tǒng)中,您必須顯式地通過Vue.u...
    蕭玄辭閱讀 3,038評論 0 7
  • ### store 1. Vue 組件中獲得 Vuex 狀態(tài) ```js //方式一 全局引入單例類 // 創(chuàng)建一...
    蕓豆_6a86閱讀 788評論 0 3
  • State 單一狀態(tài)樹 Vuex使用單一狀態(tài)樹——用一個對象就包含了全部的應(yīng)用層級狀態(tài)。至此它便作為一個“唯一數(shù)據(jù)...
    oWSQo閱讀 1,174評論 0 0
  • Vuex 是一個專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式。它采用集中式存儲管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)...
    白水螺絲閱讀 4,797評論 7 61
  • 西門街往事 目錄 【連載】西門街往事(二十二) 假如我不曾離去 晚上七點半,大多數(shù)學(xué)生都已經(jīng)吃完了晚飯,偌大的飯?zhí)?..
    苙回閱讀 408評論 0 3

友情鏈接更多精彩內(nèi)容