gpt4 book ai didi

javascript - Angular 2 : when does property binding happen?

转载 作者:行者123 更新时间:2023-12-01 03:02:37 24 4
gpt4 key购买 nike

我刚刚开始使用 Angular2,正在阅读官方文档。但是,我还没有找到有关绑定(bind)如何以及何时发生的具体细节,并且事情似乎没有按我的预期进行。

我有一个简单的子组件

@Component({
selector: 'dummy',
template: `
<div>{{data}}</div>
`
})
export class Dummy {
@Input() data;

}

和根组件

@Component({
selector: 'main',
template: `
<h1>hello</h1>
<dummy [data]="data"></dummy>
`
})
export class MainComponent {
data: string = "initial text";

ngOnInit() {
setTimeout(this.initData, 5000);
}

initData() {
this.data = "new text";
}
}

我希望子组件显示的文本在 5 秒后发生变化,但事实并非如此。我究竟做错了什么?文档是否解释了何时以及在什么条件下初始化和更新绑定(bind)值?

最佳答案

您正在失去的上下文。当 setTimeout 回调运行时,this 不再指向该组件。您可能想检查一下有关 javascript 这个问题的信息。

尝试:

setTimeout(()=>{
this.data = "new text";
},5000);

关于javascript - Angular 2 : when does property binding happen?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46366294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com