鍍金池/ 問(wèn)答/HTML/ 關(guān)于 vue data 數(shù)組 更新渲染的問(wèn)題

關(guān)于 vue data 數(shù)組 更新渲染的問(wèn)題

頁(yè)面加載,然后從后臺(tái)獲取數(shù)據(jù),然后用set綁定到data中的數(shù)組,可在mounted中想要使用更新過(guò)的數(shù)據(jù),始終獲取不到,也應(yīng)該是異步加載的問(wèn)題,就是解決不了,求解決方法。

  //axios 數(shù)據(jù)獲取  created中
    innerBase().then(res =>{
      this.$set(this.$data,'musicList',res.data.playlist.tracks)  
      //這里獲取到數(shù)據(jù),并更新到了musicList中
    })
data() {
    return {
        musicList:''
    }
}
//mounted中
     console.log(this.musicList)  //獲取不到賦值過(guò)的數(shù)組 null
     this.playMusic(this.musicList[0]);
回答
編輯回答
空白格

vue的生命周期沒(méi)有理解到位,異步操作有響應(yīng)時(shí)mounted已經(jīng)執(zhí)行完了,如果你想在data有數(shù)據(jù)時(shí)調(diào)用,可以使用updated或者beforeUpdate這兩個(gè)生命周期鉤子

2017年4月25日 20:54
編輯回答
愛(ài)是癌

因?yàn)槭钱惒秸{(diào)用,等你數(shù)據(jù)過(guò)來(lái)的時(shí)候,mounted中已經(jīng)執(zhí)行完了,所以拿不到數(shù)據(jù)
你可以把created中的方法放到mounted中執(zhí)行,返回?cái)?shù)據(jù)后在進(jìn)行其他操作

2017年10月28日 15:14