如何在不删除严格类型的情况下正确初始化具有@Input
装饰器的属性?
下面的代码是显示此警告的内容
@Input
foo: FormGroup;
答案 0 :(得分:2)
无法定义装饰器,以便Typescript知道它将执行字段初始化。唯一的选择是在字段中添加一个明确的赋值修饰符:
@Input
foo!: FormGroup;
这将仅禁用对此字段的检查。您可以阅读有关此断言here
的更多信息答案 1 :(得分:2)
道具需要附加一个感叹号,即 foo!: FormGroup.
相关的 Issue
答案 2 :(得分:1)
您可以使用“ ?”将属性设置为可选。
@Input
foo?: FormGroup;
此外,您可以在选择器组件中进行输入
selector: 'app-name[foo]'
因此只有在绑定了foo输入的情况下才选择组件。