我对Angular 生命周期有困难例如,我想在更改特定状态/属性时执行一些操作React代码示例:
const [isChanged, setIsChanged] = useState(false); useEffect(() => { // do some actions I expect here }, [isChanged]);
如何将上面的代码转换成角代码。非常感谢!
jvlzgdj91#
Angular具有OnChanges接口,该接口提供ngOnChanges生命周期方法。以下是官方文档中的示例:
@Component({selector: 'my-cmp', template: `...`}) class MyComponent implements OnChanges { @Input() prop: number = 0; ngOnChanges(changes: SimpleChanges) { // changes.prop contains the old and the new value... } }
这是所有属性更改的总括。如果您只想在某个特定属性发生更改时执行某些操作,那么只使用该属性的setter并在那里调用所需的行为可能会更“干净”,例如:
@Component({selector: 'my-cmp', template: `...`}) class MyComponent implements OnChanges { _prop: number = 0; @Input() set prop(value: number) { const oldValue = this._prop; this._prop = value; this.onPropChange(oldValue, this._prop); } get prop(): number { return this._prop; } onPropChange(oldValue: number, newValue: number) { } }
1条答案
按热度按时间jvlzgdj91#
Angular具有OnChanges接口,该接口提供ngOnChanges生命周期方法。
以下是官方文档中的示例:
这是所有属性更改的总括。
如果您只想在某个特定属性发生更改时执行某些操作,那么只使用该属性的setter并在那里调用所需的行为可能会更“干净”,例如: