请问vuex在组件的模板内怎么调用?

用的是vue2
在项目的main.js里面:

const store = new Vuex.Store({
    state: {
        isCur:0
    },
   })
new Vue({
    el: '#app',
    template: '<App/>',
    router,
    store,
    components: { App }
})

在其中的一个组件中:

<router-link  v-for="(value,index) in Anav" v-text="value.text" :to="value.path" :class="{cur:isCur==index}" @click.native="this.$store.state.isCur=index"></router-link>

这里的“this.$store.state.isCur”访问不到,请问是什么原因?

阅读 7.2k
1 个回答

你可以试试官方的mapGetters,一般在项目里没有直接去访问store的,都是通过mapGetters去访问

而且如果要像你那样访问的话,应该这样写才对

<router-link  v-for="(value,index) in Anav" v-text="value.text" :to="value.path" :class="{cur:isCur==index}" @click.native="$store.state.isCur=index"></router-link>

不需要this

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题