我是Angular的新手,只是有关ngOnChanges
的问题。我知道ngOnChanges()
方法采用一个参数(包含来自“ @ angular / core的SimpleChange”),我们可以将最新的更改值检索为:
import { Directive, ElementRef, Input, SimpleChange } from "@angular/core";
...
@Input("pa-attr")
bgClass: string;
ngOnChanges(changes: { [property: string]: SimpleChange }) {
let change = changes["bgClass"];
console.log(change.currentValue);
}
但是
ngOnChanges
实际上会更新输入属性bgClass
吗?还是只获取最新的更改值而已? 最佳答案
ngOnChanges是一个挂钩,当装饰器@Input定义的值将被更新时调用。在ngOnChanges内部,您已经可以从中读取实际值。{YOUR_INPUT_NAME}
官方文件-https://angular.io/api/core/OnChanges和https://angular.io/guide/lifecycle-hooks
您不需要ngOnChanges来更新@Input定义的值,它们将由组件的父组件更新。 ngOnChanges仅允许您检测更改并根据需要使用更新的数据执行某些逻辑。