[英]Angular2: when does property binding happen?
我只是从Angular2开始,请阅读官方文档。 但是,我还没有找到有关绑定的方式和时间的具体细节,而且事情似乎并没有按我预期的那样工作。
我有一个简单的子组件
@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秒钟后会更改,但是不会。 我究竟做错了什么? 文档是否说明何时以及在什么条件下绑定值被初始化和更新?
您将失去this
。 在当时间setTimeout
回调运行, this
并不指向组件了。 您可能需要检查一下有关JavaScript的this problem
。
尝试:
setTimeout(()=>{
this.data = "new text";
},5000);
您忘记了导入OnInit接口并使组件实现它。
import { Component, OnInit } from '@angular/core';
接着
export class MainComponent implements OnInit { ... }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.