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;
}
метод detechanges () должен вызываться после обновления свойства, например,
export class ParentComponent{
Counter=2;
changeCount(){
this.Counter++;
this.changeDetecionRef.detectChanges();
}
}