关于Vuex-------state,mapstate

之前一直不理解vuex那些事儿,虽然会用,但总是一知半解 , 前两天看了vuex官网上的官方视频讲解(可惜是英文的,不过所幸还能接受)。如果英语还可以的小伙伴建议去看一下。
vuex就像是一个统一的状态或是数据管理仓库,虽然在vue里面,父子组件之间可以相互传递数据,当时对于平级的兄弟组件是不行的,so , 你get到这个用处了吗?

首先

先说明三个用于展示功能的文件app.vue,main.js,store.js , 以下展示main.js和store.js初始内容。

//新建store.js
import Vuex from "vuex"
import Vue from "vue"
Vue.use(Vuex)
export defaut new Vuex.Store({
	
})

//在main.js里引入store
import Vue from 'vue'
import App from './App'
import router from './router'
import store from './store/store.js'
new Vue({
  el: '#app',
  router,
  store,
  components: { App },
  template: ''
})

state

单一状态树,在state中设置属性及原始值 ,当然这里只是一个存储数据的仓库,并不能作任何计算操作。

//新建store.js
export defaut new Vuex.Store({
	state:{
		count:0
	}
})

//在app.vue中使用state里的数据


mapstate

当需要调用state中多个数据时,逐个计算未免显得有点多余了,mapstate辅助函数可以帮助解决这个尴尬的问题。这里有两种方式可以实现。

//新建store.js
export defaut new Vuex.Store({
	state:{
		count:0,
		msg:"Hellow world"
	}
})

//在app.vue中使用state里的数据


/*
或者当vue中映射的属性名与state中的都一致时,可直接使用数组设置。
computed:mapstate([
"count"			//相当于把store中state.count 赋值给this.count
])
*/

你可能感兴趣的:(Vue)