小编ami*_*309的帖子

通用`keyof`中的打字稿混淆扩展了keyof`typeof`和其他

class Car {
    engine:number;
    detials:{
        good:'Boy'
    }
}
Run Code Online (Sandbox Code Playgroud)

ModelProperty<T>当使用构造类时,它new ModelProperty<Car>('engine',22);应作为ie engine的属性Car22具有相同的类型。enginenumber

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)

typescript

5
推荐指数
1
解决办法
2033
查看次数

如何在动态创建的 ControlValueAccessor 组件上应用 [formControl]

  1. 我有一个ImageHandler实现ControlValueAccessor.
  2. ImageHandler应该在另一个组件中动态生成,并且视图将被嵌入。输入和输出可以毫无问题地设置。但如何应用formControl到嵌入的视图或组件上。

<image-handler [formControl]='fControl'></image-handler>

主要问题是这个 formControl 必须应用于图像处理程序本身,否则它可以通过作为fControl输入传递并在ImageHandlerComponent.

当前的解决方法:创建一个WrapperComponentforImageHandler或任何其他类似的组件。这些基于参数的包装器显示带有表单控件的特定元素。 <image-handler *ngIf='isImagehandler' [formControl]='fControl'></image-handler> ...

这个包装组件可以动态创建,没有任何问题。但这似乎不是一个真正的解决方案。

angular angular-forms controlvalueaccessor

5
推荐指数
0
解决办法
206
查看次数