Javascript Vue.js组件不会通过其数据更改其HTML输出

Javascript Vue.js组件不会通过其数据更改其HTML输出,javascript,vue.js,Javascript,Vue.js,首先,我有这样一个子组件: Vue.component(“香蕉”{ 道具:{bid:Number}//bid:表示香蕉的id 数据(){ 返回{ 好的,没错 } }, 挂载(){ this.do\u a\u sync\u thing()//安装时执行同步功能 }, 方法:{ 做一件同步的事情(){ setTimeout(函数(){ this.OK=true/[ERROR]:为什么输出不更改为{{pid} //但仍然是“不行,正在加载…” }) } }, 模板:` {{bid}} 不好,正在加载。

首先,我有这样一个子组件:

Vue.component(“香蕉”{
道具:{bid:Number}//bid:表示香蕉的id
数据(){
返回{
好的,没错
}
},
挂载(){
this.do\u a\u sync\u thing()//安装时执行同步功能
},
方法:{
做一件同步的事情(){
setTimeout(函数(){
this.OK=true/[ERROR]:为什么输出不更改为{{pid}
//但仍然是“不行,正在加载…”
})
}
},
模板:`
{{bid}}
不好,正在加载。。。
`
})
然后在HTML文件中输入以下文本:

<banana id="app" :bid="8"></banana>
所以问题是:为什么在我更改了模板的数据之后,模板输出没有更改


多谢各位。( •̀ ω •́ )✧

setTimeout
中,匿名函数覆盖
,因此函数中的
不再指向Vue组件。您可以使用箭头功能来避免覆盖:

do_a_sync_thing () {
    setTimeout(() => {
        this.OK = true 
    })
}

setTimeout
中,匿名函数覆盖
,因此函数中的
不再指向Vue组件。您可以使用箭头功能来避免覆盖:

do_a_sync_thing () {
    setTimeout(() => {
        this.OK = true 
    })
}

函数有自己的此上下文、绑定上下文或箭头谢谢@Estradiaz~我想我明白了~函数有自己的此上下文、绑定上下文或箭头谢谢@Estradiaz~我想我明白了~