在项目开发中,利用state来定义vuex的全局变量

const store = {
	state:{
		book: String
	},
	getter:{
		getBook(state){
			return state.book;
		}
	}
}

然后通过引用

import {mapMutations,mapGetters,mapState} from 'vuex'
export default{
	computed:{
		...mapState({
			book: 'book'
		}),
		...mapGetter({
			getBook,'getBook'
		})
	},
	//两者监控方式不同
	watch:{
		'store.state.book':function(newVal,oldVal){
		},
		getBook:function(newVal,oldVal){
		}
	}
}

还有几个坑
使用vuex时,mutation里面的函数是没有返回值的,不能用return。
mutation里面的函数参数只能拥有一个,如果有多个参数需要设置成数组或者对象来进行传参。
vuex中的state里面的对象值需要添加属性时,必须使用Vue.set或者this.$set来进行附加属性,不然监控不到。

Logo

前往低代码交流专区

更多推荐