Официальные документы Angular гласят:
"ngOnChanges - это ловушка жизненного цикла, которая вызывается при изменении любого привязанного к данным свойства директивы. Определите метод ngOnChanges () для обработки изменений.
Немного непонятно, что означает, что обновленное / последнее свойство ввода действительно доступно в методе жизненного цикла ngOnChanges, поэтому я провел простой эксперимент:
//trmplate.html
<p [mydirective] = "GetFirstStudent().Name"></p>
, где Name - это свойство компонента, и я установил имя первого человека как «Майкл».
так в классе директивы как селектор mydirective
:
@Directive({
selector: "[mydirective]"
})
export class CustomDirective{
...
@Input("mydirective")
personName: string;
ngOnChanges() {
console.log(personName);
}
}
, поэтому я обновляю браузер, иконсоль имеет следующий вывод:
Майкл
Итак, это подтвердило, что в ngOnChanges я могу получить доступ к последним свойствам ввода.
Это мое пониманиеправильно?