mapState:
首先要在使用sore文件的文件引入:
import {mapState} from 'vuex';
在js;红色的是用到的 mapState可以自动生成 计算属性
<script> import {mapState,mapGetters} from 'vuex'; export default{ data(){ return{ n:1, } }, computed:{
//第一种写法 从Strate读取数据(对象写法) ...mapState({he:'nbr',xuexiao:'school',name:'myname'}),
// 第二种写法 从State读取数据(数组写法)
...mapState(['nbr','school','myname']),
bigSum(){
return this.$store.getters.bigSum } }, mounted(){
//如果是数组写法下面就不用写 const x= mapState({he:'nbr',xuexiao:'school',name:'myname'}) }, methods:{ add(){ // 调用add方法 this.$store.dispatch('add',this.n) }, subtract(){ this.$store.dispatch('subtract',this.n) }, odd(){ this.$store.dispatch('odd',this.n) }, item(){ this.$store.dispatch('item',this.n) } }, } </script>
html;红色的是用到的
<template> <div id="app"> <h1>当前总数为:{{he}}</h1> <h2>放大十倍总数为:{{bigSum}}</h2> <h3>我在{{xuexiao}}我是{{name}}</h3> <select v-model.number="n"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <button @click="add">+</button> <button @click="subtract">-</button> <button @click="odd">为奇数再加</button> <button @click="item">等一等再加</button> <!-- <router-view/> --> </div> </template>
store文件里的state
state: { nbr:0,//当前的和 school:'京海学校', myname:'张三' },
mapGetters:
bigSum(){ return this.$store.getters.bigSum }
把上面这个替换为:
// 数组写法, 从getters里读取对象 ...mapGetters(['bigSum'])
标签:mapGetters,写法,mapState,nbr,VUEX,bigSum,store From: https://www.cnblogs.com/0722tian/p/17150504.html