新聞中心
Vuex 是一個(gè)專為 Vue.js 應(yīng)用程序開發(fā)的狀態(tài)管理模式,它采用集中式存儲(chǔ)管理應(yīng)用的所有組件的狀態(tài),并以相應(yīng)的規(guī)則保證狀態(tài)以一種可預(yù)測(cè)的方式發(fā)生變化,Vuex 也集成到 Vue 的官方調(diào)試工具 devtools extension,提供了諸如零配置的 timetravel 調(diào)試、狀態(tài)快照導(dǎo)入導(dǎo)出等高級(jí)調(diào)試功能。

我們提供的服務(wù)有:成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、灤州ssl等。為數(shù)千家企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的灤州網(wǎng)站制作公司
下面是 Vuex 的五個(gè)核心屬性:
1. State
State 是 Vuex 的基礎(chǔ),用于存儲(chǔ)應(yīng)用的狀態(tài),每個(gè) Vuex 實(shí)例都有一個(gè)單一的 state 對(duì)象,該對(duì)象以模塊為組織形式,每個(gè)模塊包含一組屬性。
const state = {
count: 0,
info: 'This is global state'
}
2. Getters
Getters 類似于 Vue 的計(jì)算屬性,用于從 state 中派生出一些狀態(tài),對(duì)一個(gè)數(shù)組進(jìn)行過濾并計(jì)數(shù):
const getters = {
doneTodosCount: (state) => {
return state.todos.filter(todo => todo.done).length
}
}
3. Mutations
Mutations 是唯一更改 store 中狀態(tài)的方法,每個(gè) mutation 都有一個(gè)字符串類型的事件類型和對(duì)應(yīng)的處理函數(shù),執(zhí)行 mutation 時(shí)會(huì)調(diào)用對(duì)應(yīng)的處理函數(shù)來改變 state 的狀態(tài):
const mutations = {
increment (state) {
state.count++
}
}
4. Actions
Actions 類似于 mutations,不同之處在于:Actions 提交的是 mutation,而不是直接變更狀態(tài),Actions 可以包含任意異步操作,因此可以在其中進(jìn)行 API 請(qǐng)求等操作。
const actions = {
increment ({ commit }) {
setTimeout(() => {
commit('increment')
}, 1000)
}
}
5. Modules
Modules 可以將 store 分割成多個(gè)模塊(module),每個(gè)模塊擁有自己的 state、getter、mutation、action、甚至是嵌套子模塊——從上至下進(jìn)行同樣方式的分割:
const moduleA = {
state: () => ({ ... }), // 定義該模塊狀態(tài)
mutations: { ... }, // 同步操作
action: { ... } // 異步操作
}
const store = new Vuex.Store({
modules: {
a: moduleA
}
})
本文標(biāo)題:vuex的五個(gè)屬性
當(dāng)前路徑:http://www.dlmjj.cn/article/djijoei.html


咨詢
建站咨詢
