Vuex 詳細解釋使用

Paste_Image.png

一個簡單的點擊跳轉頁面并設置標題的小粟子

vue文件:
//1.綁定jump觸發事件
<template>
<li v-for="item in footArr" @click="jump(item.name,item.title)"></li>
</template>

//2.從actions和getters JS文件分別引入{changePage}和{getTitleName} (dispatch)
import {changePage} from "../js/vuex/actions";
import {getTitleName} from "../js/vuex/getters";

//3.jump觸發changePage
methods:{
jump:function(name,title){
this.changePage(name,title);
}
}
}

//4.vuex調用actions方法綁定changePage到{changePage},調用getters方法綁定getTitleName到{getTitleName}
export default {
vuex:{
actions:{
changePage:changePage
},
getters:{
getTitleName:getTitleName
}
}
}

actions.js
//5.{changePage}綁定dispatch再調用'INCREMENT'方法
export const changePage=({dispatch},pageName,pageTitle)=>{
dispatch('INCREMENT',pageName,pageTitle);
};

store.js
//引入并調用vuex
var Vue=require("vue");
var Vuex=require("vuex");
Vue.use(Vuex);
//設置state對象(用于狀態保存)
var state={
pageName:"app",
title:"首頁"
};
//6.設置mutations 的INCREMENT方法(用于更改狀態)
var mutations = {
INCREMENT(state,pageName,pageTitle){
state.pageName=pageName;
state.title=pageTitle;
}
};
//拋出狀態模塊
export default new Vuex.Store({
state,
mutations
})

getters.js
//7.最后利用 actions -> changePage->'INCREMENT'->state.title=pageTitle這個過程,得到當前狀態的state.title
export default (state) =>state.pageName;
export const getTitleName = (state) =>state.title;

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 安裝 npm npm install vuex --save 在一個模塊化的打包系統中,您必須顯式地通過Vue.u...
    蕭玄辭閱讀 2,963評論 0 7
  • vuex 場景重現:一個用戶在注冊頁面注冊了手機號碼,跳轉到登錄頁面也想拿到這個手機號碼,你可以通過vue的組件化...
    sunny519111閱讀 8,035評論 4 111
  • Vuex 的學習記錄 資料參考網址Vuex中文官網Vuex項目結構示例 -- 購物車Vuex 通俗版教程Nuxt....
    流云012閱讀 1,472評論 0 7
  • Vuex是什么? Vuex 是一個專為 Vue.js應用程序開發的狀態管理模式。它采用集中式存儲管理應用的所有組件...
    蕭玄辭閱讀 3,139評論 0 6
  • 這兩天在做Vue移動端的項目,正好用到了Vuex,記錄一下相關知識。 一、安裝 npm yarn Vuex是Vue...
    婷樓沐熙閱讀 7,705評論 2 2