标签:应用程序 响应 自己的 this -- 开发 app 方法 red
Vuex 中的状态存储是响应式的; 当 Vue 组件从 store 中读取状态的时候, 若 store 中的状态发生了变化, 那么相应的组件也会得到高效更新.
不能直接修改 store 中的状态, 改变 store 的状态的唯一方式是提交(commit) 一个 mutation, 使得我们可以方便地跟踪每一个状态的变化
单向数据流理念
单向数据流方式使用一个上传数据流和一个下传数据流进行双向数据通信, 两个数据流之间相互独立。单向数据流指: 只能从一个方向来修改状态。
第一步:
安装 Vuex
npm install vuex --save 或 yarn add vuex
第二步:
在 src 文件夹下新建 store 文件夹, 以 index.js 为 vuex 的入口文件
// 1. 引入vuex及依赖文件Vue
import Vue from 'vue'
import Vuex from 'vuex'
// 2. 使用 Vuex 插件
Vue.use(Vuex);
// 初始化 状态数据
const state = {};
// 实时监听 state 的变化, 提供处理后的数据
const getters = {};
// 定义更改 state 状态的方法
const mutations = {};
// 异步操作方法
const actions = {};
// 3. 创建 store 仓库
const store = new Vuex.Store({
state,
getters,
mutations,
actions
});
// 4. 向外提供实例化的 store 对象, 用于注入整个应用
export default store;
第三步:
把创建好的 store仓库, 注入到 Vue 根实例对象中
import store from './store';
new Vue({
render: h => h(App),
store
}).$mount('#app');
// 注意:
// 现在就可以在每个组件中获取到 store 中的状态了
// 在组件中获取状态
this.$store.state
this.$store.getters
// 提交修改状态的方法
// 通过 commit 提交同步操作的 mutation 方法
this.$store.commit("mutation中的方法名", payload);
// 通过 dispatch 派发 action 异步操作, action 内部 commit 提交 mutation 来修改状态
this.$store.dispatch("action中的方法名")
标签:应用程序 响应 自己的 this -- 开发 app 方法 red
原文地址:https://www.cnblogs.com/yuxi2018/p/11966776.html