1、vuex有哪几种属性?
有五种,分别是 State、 Getter、Mutation 、Action、 Module
2.vuex的State特性是?
2.1. Vuex就是一个仓库,仓库里面放了很多对象。其中state就是数据源存放地,对应于与一般Vue对象里面的data
2.2. state里面存放的数据是响应式的,Vue组件从store中读取数据,若是store中的数据发生改变,依赖这个数据的组件也会发生更新
2.3. 它通过mapState把全局的 state 和 getters 映射到当前组件的 computed 计算属性中
3.vuex的Getter特性是?
3.1. getters 可以对State进行计算操作,它就是Store的计算属性
3.2. 虽然在组件内也可以做计算属性,但是getters 可以在多组件之间复用
3.3. 如果一个状态只在一个组件内使用,是可以不用getters
4. vuex的Mutation特性是?
4.1. Action 类似于 mutation,不同在于:
4.2. Action 提交的是 mutation,而不是直接变更状态。
4.3. Action 可以包含任意异步操作
5.Vue.js中ajax请求代码应该写在组件的methods中还是vuex的actions中?
5.1. 如果请求来的数据是不是要被其他组件公用,仅仅在请求的组件内使用,就不需要放入vuex 的state里。
5.2. 如果被其他地方复用,这个很大几率上是需要的,如果需要,请将请求放入action里,方便复用,并包装成promise返回,在调用处用async await处理返回的数据。如果不要复用这个请求,那么直接写在vue文件里很方便。
网友评论