请问各位大哥,为什么我这个watch检测不到data里的musicId的变化,用console.log是可以输出出来有变化的

请问各位大哥,为什么我这个watch检测不到data里的musicId的变化,用console.log是可以输出出来有变化的

export default {

data() {

return {

url:'',

musicId:0

}

},

mounted(){

this.$bus.$on("getId",function(id){

this.musicId = id

})

},

watch:{

musicId:{

handler(val){

console.log(val);

this.$http.get(`/api/song/url?id=${val}`).then((result) => {

console.log(result.data);

})

},

immediate: true,

deep: true,

}

}

}


回答:

我猜一下,function(id){this.xxx=id}这里的this指向的不是vue实例,换成id => {this.xx=id},或者在外面定义个vn =this

以上是 请问各位大哥,为什么我这个watch检测不到data里的musicId的变化,用console.log是可以输出出来有变化的 的全部内容, 来源链接: utcz.com/p/936012.html

回到顶部