Geo*_*kis 7 lifecycle visual-studio-code ngonchanges typescript2.1 angular
如果我们在当前组件的 ngOnChanges 钩子的 SimpleChanges 打字稿参数中进行类型检查,那就太好了。
这将防止我们在检查的属性中出错。
Geo*_*kis 12
使用TypeScript 2.1和keyof功能,我找到了以下类型声明(基于 SimpleChanges),这似乎为我们提供了对组件属性的必要类型化访问:
export type ComponentChange<T, P extends keyof T> = {
previousValue: T[P];
currentValue: T[P];
firstChange: boolean;
};
export type ComponentChanges<T> = {
[P in keyof T]?: ComponentChange<T, P>;
};
Run Code Online (Sandbox Code Playgroud)
使用这些,声明 vscode 编辑器会自动获取类型信息并自动完成更改属性:
但有一个问题是,更改参数现在将列出组件的每个属性(不仅是 @Input() 属性),但我还没有找到比这更好的方法。