亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Vuex 在組件調用this.$store.state.xx.xx undefind

Vuex 在組件調用this.$store.state.xx.xx undefind

HUWWW 2018-12-16 09:17:35
state.jsstate:{    data:{}}mutation.jstype.data (state, arg) {    return state.data = arg}action.jscommit(types.data, {a: 111, b: 222})getters.jsexport const data = (state) => {    return state.data}在組件的methods方法中調用,非模板template里.this.$store.getters.data       //{a:111, b:222}this.$store.state.data       //{a:111, b:222}但是,直接調取值就不可以.this.$store.getters.data.a     // undefinedthis.$store.state.data.a       // undefined請教一下,怎么在組件中可以直接調用啊~?
查看完整描述

1 回答

?
牧羊人nacy

TA貢獻1862條經驗 獲得超7個贊

state.js
state: {
   remind: {}
}

mutation_types.jsexport const REMAIND = 'REMAIND'mutation.js
[type.REMIND] (state, arg) {
    state.remind = arg
}

actions.js
getdata ({state, commit}, arg) {
    ...,
    commit(types.REMAIND, {free: res.data.freeNum, queue: res.data.queueNum})
}


getters.jsexport const remind = (state) => {    return state.remind
}

test.vue
methods:{
   submit () {       this.$store.dispatch('getData')       console.log(this.$store.getters.remind)       // {obj....arry(0)}
       console.log(this.$store.getters.remind.free)   // undefined
       console.log(this.$store.getters.remind.queue)  // undefined
   }
}
點擊submit 第一次得到的都是空
第二次點擊submit的是時候,就都有值了..
state,和 getters 都是這樣的,為什么呢?


查看完整回答
反對 回復 2018-12-16
  • 1 回答
  • 0 關注
  • 2850 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號