ここngOnChangesメソッドのパラメータは、公式デモコードスニペットです。angular4.x、
changes
は、シンボル:
の後のパラメータで、型注釈です。
私は{[propKey: string]: SimpleChange}
について混乱しています。
デストラクチャリングのようではなく、opt: {key: string}
のようではありません。
ここngOnChangesメソッドのパラメータは、公式デモコードスニペットです。angular4.x、
changes
は、シンボル:
の後のパラメータで、型注釈です。
私は{[propKey: string]: SimpleChange}
について混乱しています。
デストラクチャリングのようではなく、opt: {key: string}
のようではありません。
それはあなたの財産(キー)タイプ文字列であるならば、それはタイプSimpleChangesのオブジェクトを返しますことを示唆しています。これは、タイプミスに関連するものであり、角ではありません。
のは、いくつかの詳細を掘り下げてみましょう: -
はのは、がオブジェクトがこの{name: SimpleChange, age: SimpleChange}
のようなものを持って変更するとしましょう。次に、このタイプの検証は、文字列にkeyを渡した場合、 と答えてとし、SimpleChangeのオブジェクトを返します。
let updatedNameChanges = changes["name"];
// name is in string, so updatedNameChanges will be a SimpleChange object.
さらに、これをスキップしたい場合は、できます。唯一の違いは型キャストとバリデーションです。
また、REFとしてこれを使用することができます。詳細については
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
何? –
https://www.typescriptlang.org/docs/handbook/interfaces.html#indexable-types – yurzui
@MurhafSousli質問:私は '[propKey:string]'について混乱しています – novaline