Vuex中调用state数据


第一种:直接访问 <h1>姓名:{{$store.state.msg}}</h1>

第二种:利用计算属性

将想要用到的全局state数据,防止到组件的computed内部使用,v-model的内容将其获取和设置分开即可

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

<h1>姓名:{{msg}}</h1>

<h1>年龄:{{age}}</h1>

<h1>数字:{{num}}</h1>

<input type="text" v-model="num">

 

computed: {

        age:function(){  //msg也相同,就没写

            return this.$store.state.age

        },

        num:{

            get:function(){

                return this.$store.state.num;

            },

            set:function(num){   //数据双向绑定

                this.$store.commit('setNum',num)

            }

        }

    },

第三种:mapstate 数组

 

1

2

3

4

5

6

7

8

9

10

11

12

13

<h1>姓名:{{msg}}</h1>

<h1>年龄:{{age}}</h1>

<h1>数字:{{num}}</h1>

<input type="text" :value="num" @input="changeVal" >

 

import { mapState } from 'vuex'  //需要引入mapState

 

computed:mapState(['age','msg','num']),

    methods: {  

        changeVal(e){    //设置值

            return this.$store.commit('setNum',e.target.value)

        }

    },

第四种:mapState 对象

 

1

2

3

4

5

6

7

8

9

10

11

12

<h1>姓名:{{msg}}</h1>

<h1>年龄:{{age}}</h1>

<h1>数字:{{num}}</h1>

 

import { mapState } from 'vuex'  //需要引入mapState

 

computed:mapState({

        msg:'msg',

        num:'num',

        // age:(state)=>state.age,   //不需要大括号的时候,就不需要用 return 返回值

        age:(state)=>{ return state.age},

    })

第五种:mapState 对象 解构 追加变量

 

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

 

<h1>姓名:{{msg}}</h1>

<h1>年龄:{{age}}</h1>

<h1>数字:{{num}}</h1>

 

import { mapState } from 'vuex'

 

let objMapState=mapState({

        msg:'msg',

        num:'num',

        // age:(state)=>state.age,

        age:function(state){ return this.greenColor+state.age},

    })

 

data() {

        return {

            greenColor:'blue'            

        }

    },

computed:{

        ...mapState(objMapState)

    }

 

Vuex中调用state数据

Go: 一点博客-青梅煮码


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM