gpt4 book ai didi

angular4.x,ngOnChanges 方法的参数

转载 作者:太空狗 更新时间:2023-10-29 17:54:29 29 4
gpt4 key购买 nike

官方演示代码片段:

ngOnChanges(changes: {[propKey: string]: SimpleChange}) {}

我的问题是ngOnChanges的参数。

changes是参数,在符号:之后,是类型注解。

我对 {[propKey: string]: SimpleChange} 感到困惑。

这看起来不像是解构,也不像opt: {key: string}

最佳答案

它表明,如果您的属性(键)是string 类型,那么它将返回一个SimpleChanges 类型的对象。这是与 typescript 有关的东西,与 angular 无关。

让我们深入了解一些细节:-

假设 changes 对象有这样的东西 {name: SimpleChange, age: SimpleChange}。然后这种类型验证意味着如果你在字符串中传递键, 说 "minor" 然后它会返回一个 SimpleChange 的对象。

let updatedNameChanges  = changes["name"]; 
// name is in string, so updatedNameChanges will be a SimpleChange object.

此外,如果你想跳过这个,你可以。唯一的区别是类型转换和验证。

您也可以将其用作引用:

 ngOnChanges(changes: {[propKey: string]: SimpleChange}) {
let log:string[] = [];
for (let propName in changes) {
let changedProp = changes[propName];
let to = JSON.stringify(changedProp.currentValue);
if (changedProp.isFirstChange()) {
log.push(`Initial value of ${propName} set to ${to}`);
} else {
let from = JSON.stringify(changedProp.previousValue);
log.push(`${propName} changed from ${from} to ${to}`);
}
}

欲了解更多详情,try this

关于angular4.x,ngOnChanges 方法的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44039457/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com