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

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

從 Vue.js 中獲取的源中獲取對象的真實值

從 Vue.js 中獲取的源中獲取對象的真實值

拉丁的傳說 2022-10-13 19:32:51
我通過從外部 API 中獲取數據來獲取國家/地區列表VueX。然后我使用突變將這些國家列表存儲到一個州。所以實際上,我將國家存儲在一個變量中,我this.$state.getters.countryList從一個組件中引用它?,F在我需要比較該列表中是否存在變量。所以我用這個方法: this.$store.getters.countryList.indexOf('usa').'usa'我知道該列表中存在一個事實,但我總是得到-1結果。然后我嘗試this.$state.getters.countryList通過 using調試值,并在控制臺中console.log(this.$state.getters.countryList)得到[__ob__: Observer]結果。這就是我想要做的:  mounted() {    if (this.$store.getters.countryList.indexOf('usa')) {       //Do something      }  }如何獲得實際值this.$state.getters.countryList并將其與執行檢查一起使用indexOf()以執行其他操作?
查看完整描述

1 回答

?
慕娘9325324

TA貢獻1783條經驗 獲得超4個贊

由于從外部 API 獲取數據是一項async操作,因此您嘗試訪問的數據在您需要時可能不可用,正如 @Phil 所述。


fetch出于這個原因,您可以設置一個觀察者在操作完成并countryList加載后運行您的指令集:


在store.js中,假設您的商店最初countryList設置為:null


export const state = () => ({

 countryList: null

})

然后在你的mounted()鉤子中你會設置一個觀察者:


mounted() {

 this.$store.watch(

  state => state.countryList,

  (value) => {

   if (value) { 

     //instruction once countryList is loaded 

   }

  }

 )

}


查看完整回答
反對 回復 2022-10-13
  • 1 回答
  • 0 關注
  • 141 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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