5分钟带你入门vuex(vue状态管理)

2022-12-22 0 563

5分钟带你入门vuex(vue状态管理)

假如你以后采用过vue.js,你很大晓得在vue中各模块间fork的伤痛,在vue中他们能采用vuex来留存他们须要管理工作的容值,值除非被修正,大部份提及该值的地方性就会离线,因此接下去他们就来自学呵呵vuex是怎样修正容值的:

他们增建两个vue工程项目(这儿虽然他们是传授vuex,因此对vue工程项目的建立他们不能传授太详尽);在配置文件输出 vue init webpack web(采用webpack建立两个工程项目名叫web的工程项目);

工程项目建立后,接着加装vuex,采用指示:npm install vuex –save(加装vuex留存到邻近地区),加装获得成功后你会看见那个介面:

5分钟带你入门vuex(vue状态管理)

接着他们继续执行npm run dev 开启工程项目,在应用程序输出:”localhost:8080″;恒定不然接着他们会看见工程项目的开启页,

5分钟带你入门vuex(vue状态管理)

看见那个介面表明工程项目开启获得成功,接着他们在工程项目的src产品目录下增建两个产品目录store,在该产品目录下增建两个index.js文件,他们用来建立vuex实例,接着在该文件中引入vue和vuex,建立Vuex.Store实例留存到变量store中,最后采用export default导出store:

5分钟带你入门vuex(vue状态管理)

接着他们在main.js文件中引入该文件,在文件里面添加 import store from ‘./store’;,再在vue实例全局引入store对象;

5分钟带你入门vuex(vue状态管理)

接着他们就能开始编写他们的vuex业务代码了,那么,他们的数据怎样留存?

State:

5分钟带你入门vuex(vue状态管理)
5分钟带你入门vuex(vue状态管理)

这时候他们页面上就得到了那个count值1:

5分钟带你入门vuex(vue状态管理)

Getters:

Getter相当于vue中的computed计算属性,getter 的返回值会根据它的依赖被缓存起来,且只有当它的依赖值发生了改变才会被重新计算,这儿他们能通过定义vuex的Ge

5分钟带你入门vuex(vue状态管理)

再修正index.js文件如下,其中getters中的getStateCount方法接收两个参数state,那个参数就是他们用来留存数据的那个对象;

5分钟带你入门vuex(vue状态管理)

接着他们在页面显示:

5分钟带你入门vuex(vue状态管理)

Mutations:

要修正store中的值唯一的方法就是提交mutation来修正,他们现在Hello World.vue文件中添加两个按钮,两个加1,两个减1;这儿他们点击按钮调用addFun(继续执行加的方法)和reductionFun(继续执行减法的方法),接着在里面直接提交mutations中的方法修正值:

5分钟带你入门vuex(vue状态管理)

修正index.js文件,添加mutations,在mutations中定义两个函数,用来对count加1和减1,这儿定义的两个方法就是上面commit提交的两个方法如下:

5分钟带你入门vuex(vue状态管理)

页面上点击+、- 按钮操作数据:

点击 “+”按钮

5分钟带你入门vuex(vue状态管理)

继续执行获得成功,他们再连续点击三次减 “-” 按钮

5分钟带你入门vuex(vue状态管理)

ok!完美。

Actions:

他们看见,当点击三次后值从2变成了-1;页面上的值是改变了;他们达到了修正store中容值的目的,但是,官方并不介意他们这样直接去修正store里面的值,而是让他们去提交两个actions,在actions中提交mutation再去修正容值,接下去他们修正index.js文件,先定义actions提交mutation的函数:

5分钟带你入门vuex(vue状态管理)

接着他们去修正Hello World.vue文件:

5分钟带你入门vuex(vue状态管理)

这儿他们把commit提交mutations修正为采用dispatch来提交actions;他们点击页面,效果是一样的。

5分钟带你入门vuex(vue状态管理)
5分钟带你入门vuex(vue状态管理)

好了,他们这儿已经实现了两个基本的vuex修正容值的完整流程,假如他们须要指定加减的数值,因此他们直接传入dispatch中的第二个参数,接着在actions中的对应函数中接受参数在传递给mutations中的函数进行计算:

5分钟带你入门vuex(vue状态管理)
5分钟带你入门vuex(vue状态管理)
5分钟带你入门vuex(vue状态管理)

那个时候他们再去点击“ – ”按钮就会发现不再是减1了,而是减去10了。

mapState、mapGetters、mapActions

假如他们不喜欢这种在页面上采用“this.$stroe.state.count”和“this.$store.dispatch(funName)”这种很长的写法,那么他们能采用mapState、mapGetters、mapActions就不能这么麻烦了;

他们修正Hello World.vue文件如下:

5分钟带你入门vuex(vue状态管理)

此时他们在页面采用count1调用:

5分钟带你入门vuex(vue状态管理)

恒定显示,效果是一样的,他们就能不再采用很长的写法来调用了。

更多前端自学资源请点击:史上最全web前端资料总结

举报/反馈

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务