【发布时间】:2018-08-14 00:05:45
【问题描述】:
我想确保我在一个类型上使用了有效的键。我可以为此使用 keyof,但似乎我需要先创建一个 const:
ngOnChanges(changes: SimpleChanges) {
let open: keyof MyComponent = "open";
if (changes[open]) {
// ... do something
}
}
我可以创建一个函数来强制执行此操作:
ngOnChanges(changes: SimpleChanges) {
if (changes[this.keyOf<MyComponent>("open")]) {
// ... do something
}
}
keyOf<T>(key: keyof T) {
return key;
}
但似乎应该有更多基于语言的方式来做到这一点。
【问题讨论】:
-
SimpleChanges类型是如何定义的?SimpleChanges的每个键都必须是MyComponent的键,这是真的吗?还是有其他限制? -
SimpleChanges 是 Angular 6 的一部分:接口:
SimpleChanges { [propName: string]: SimpleChange; }。并且是这个出现的一个地方,但是。大多数情况下,我试图确保这种事情是可重构的。
标签: typescript