class Car {
engine:number;
detials:{
good:'Boy'
}
}
Run Code Online (Sandbox Code Playgroud)
ModelProperty<T>
当使用构造类时,它new ModelProperty<Car>('engine',22);
应作为ie engine
的属性Car
并22
具有相同的类型。engine
number
export class ModelProperty<T, P extends keyof T, V = T[P]> {
constructor(public name: P, public value: V) { }
fun(t: T){
let value: any = t[this.name]; // Should not be any
let valueWhyError: V = t[this.name]; //Error.. Why?
}
}
let engine2 = new ModelProperty<Car,'engine'>('engine','22'); // Gives error as '22' should be number.. working great.
let engine1 = new …
Run Code Online (Sandbox Code Playgroud) ImageHandler
实现ControlValueAccessor
.ImageHandler
应该在另一个组件中动态生成,并且视图将被嵌入。输入和输出可以毫无问题地设置。但如何应用formControl
到嵌入的视图或组件上。<image-handler [formControl]='fControl'></image-handler>
主要问题是这个 formControl 必须应用于图像处理程序本身,否则它可以通过作为fControl
输入传递并在ImageHandlerComponent
.
当前的解决方法:创建一个WrapperComponent
forImageHandler
或任何其他类似的组件。这些基于参数的包装器显示带有表单控件的特定元素。
<image-handler *ngIf='isImagehandler' [formControl]='fControl'></image-handler>
...
这个包装组件可以动态创建,没有任何问题。但这似乎不是一个真正的解决方案。