- 安装命令 分别为 cnpm 或 npm 或 yarn
- 普遍情况用npm
- yarn虽然安装更快捷,但需要下载,如有兴趣可查资料
npm install vuex-persistedstate --save
- 在store目录中封装一个store.js模块文件
- 包含state、mutations、actions
export default {
// 数据
state: {
userName: "hello",
count: 20,
},
// 方法
mutations: {
setState(state, val) {
state.count = val;
},
increment(state, v) {
state.count += v;
},
},
// 异步
actions: {
incrementAction(context,val){
context.commit('increment',val)
}
},
};
- 在vue 的 store目录下 index.js文件中进行拆分引入
import Vue from "vue";
import Vuex from "vuex";
// 这里引入 store模块文件
import store from "./module/store";
// 这里引入了vux持久化
import createPersistedState from "vuex-persistedstate"
Vue.use(Vuex);
export default new Vuex.Store({
// 这里结构封装的store
...store,
modules: {},
// 这里引入vuex持久化
plugins: [
createPersistedState({
// 创建一个本地临时存储数据
storage: window.sessionStorage,
}),
],
});
<template>
<div>
<p>vuex</p>
<button @click="add(30)">mutations</button>
<p>
{{ count }}
</p>
<button @click="commitNumber">mutations</button>
</div>
</template>
- 引入vuex中定义的 state 以及 actions 异步
<script>
import { mapState ,mapActions} from "vuex";
export default {
// 如果要更改的是state数据 需要在计算属性中
// 运用扩展符进行扩展
computed: {
...mapState({
count: (state) => state.count,
}),
},
// 如果更改的是Actions数据 需要在methods中进行扩展使用
methods: {
//传递参数可以用一个方法add调用和接收
...mapActions({
// add 映射为 this.add()
add:'incrementAction'
}),
// 上下方法根据需求选择
// 若不传递参数 可以使用
...mapActions([
'incrementAction'
]),
// 这里事件是通过底层原型获取到的store方法进行传参和修改
commitNumber() {
this.$store.commit('increment', 10)
},
},
};
</script>
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
- 找不到素材资源介绍文章里的示例图片?
- 对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
- 模板不会安装或需要功能定制以及二次开发?
- 请QQ联系我们
发表评论
还没有评论,快来抢沙发吧!