我是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/OnChangeshttps://angular.io/guide/lifecycle-hooks

您不需要ngOnChanges来更新@Input定义的值,它们将由组件的父组件更新。 ngOnChanges仅允许您检测更改并根据需要使用更新的数据执行某些逻辑。

09-26 07:30