我有3个成分,其中p1是父级,c1和c2是子级,
在c2中,我通过调用
触发更改检测this.changeDetecionRef.detectChanges()
但这不会触发。父组件和子组件不会调用ngOnChanges或ngOnInit函数。
我是否需要更新任何属性,即将数据从父级绑定到子级或将子级绑定到父级。
答案 0 :(得分:0)
ngOnChanges。 解析所有注入的依赖项后,将调用ngOnInit()。 (它应在ngOnChanges()之后调用)
将数据从父组件绑定到子组件
parent.component.ts
@Component({
selector:'parent-component',
template:`
<h1>Welcome</h1>
<button (click)="changeCount()">Change</button>
<child-component [count]=Counter></child-component>`,
})
export class ParentComponent{
Counter=2;
changeCount(){
this.Counter++;
}
}
child.component.ts
@Component({
selector:'child-component',
template:`<h2>Total Count {{count}}</h2>`
})
export class ChildComponent{
@Input() count:number;
}
在更新属性后,应调用detectchanges()方法, 例如,
export class ParentComponent{
Counter=2;
changeCount(){
this.Counter++;
this.changeDetecionRef.detectChanges();
}
}