Angular 未定义的角度11类型不可分配给类型';T';

Angular 未定义的角度11类型不可分配给类型';T';,angular,typescript,Angular,Typescript,我试着用谷歌动态表单来显示Angular 11的原样,我发现了一些错误 这里是所有的代码逐字复制,显然它在这里工作,但在我的开发机器上给我错误。 √ 编译成功 Error: src/app/_models/question-base.ts:21:5 - error TS2322: Type 'T | undefined' is not assignable to type 'T'. 'T' could be instantiated with an arbitrary type which

我试着用谷歌动态表单来显示Angular 11的原样,我发现了一些错误

这里是所有的代码逐字复制,显然它在这里工作,但在我的开发机器上给我错误。

√ 编译成功

Error: src/app/_models/question-base.ts:21:5 - error TS2322: Type 'T | undefined' is not assignable to type 'T'.
  'T' could be instantiated with an arbitrary type which could be unrelated to 'T | undefined'.
    Type 'undefined' is not assignable to type 'T'.
      'T' could be instantiated with an arbitrary type which could be unrelated to 'undefined'.

21     this.value = options.value;
       ~~~~~~~~~~

考虑
选项的类型

选项:{
值?:T;
}
因此,
选项。值
将属于类型
T |未定义
,因为
表示值是可选的

现在是
this.value的类型

值:T;
因此,
这个.value
将是
T

现在让我们假设我们不为
选项提供任何值。值
然后我们将分配
this.value=undefined
,这在理想情况下应该警告我们,因为
this.value
属于
T

简而言之,解决方案是删除可选参数
或更改
此值的类型

值:T |未定义

考虑
选项的类型

选项:{
值?:T;
}
因此,
选项。值
将属于类型
T |未定义
,因为
表示值是可选的

现在是
this.value的类型

值:T;
因此,
这个.value
将是
T

现在让我们假设我们不为
选项提供任何值。值
然后我们将分配
this.value=undefined
,这在理想情况下应该警告我们,因为
this.value
属于
T

简而言之,解决方案是删除可选参数
或更改
此值的类型

值:T |未定义

添加!“this.value=options.value!;”应该修复它,因为“!”运算符指示此值不可为空。

正在添加!“this.value=options.value!;”应该修复它,因为“!”运算符指示此值不可为null。

您可以消除“类型“t”的所有错误。|未定义的“不可分配给类型“t”
通过将tsconfig.json文件中的属性“strict”设置为false

,您可以消除“Type'T | undefined'不可分配给Type'T”的所有错误
通过将tsconfig.json文件中的属性“strict”设置为false

,您的tsconfig.json在dev机器中是否不同?是否可以尝试添加
to
this.value=options.value拜托?拉兹,这就解决了,谢谢,如果你把这个作为一个答案而不是一个评论,我可以把它标记为正确的。很高兴它对你有用。这回答了你的问题吗?您的tsconfig.json在dev机器中是否不同?能否尝试添加
to
this.value=options.value拜托?拉兹,这就解决了,谢谢,如果你把这个作为一个答案而不是一个评论,我可以把它标记为正确的。很高兴它对你有用。这回答了你的问题吗?移除?给我一个不同的错误:
value:T
Property'value'在类型{}中缺少,但在类型{value:T;key?:string |未定义;label?:string |未定义;required?:boolean |未定义;order?:number |未定义;controlType?:string |未定义;type?:string |未定义;options?:{…}[]|“.”保留它并添加
T | undefined
给我的错误与我的问题相同:类型“T | undefined”不可分配给类型“T”。”可以用与“T | undefined”无关的任意类型实例化“T”。是否删除?给我一个不同的错误:
value:T
Property'value'在类型{}中缺少,但在类型{value:T;key?:string |未定义;label?:string |未定义;required?:boolean |未定义;order?:number |未定义;controlType?:string |未定义;type?:string |未定义;options?:{…}[]|“.”保留它并添加
T | undefined
给我的错误与我的问题相同:类型“T | undefined”不可分配给类型“T”。”T'可以用与“T | undefined”无关的任意类型实例化。