如何定义组件的输入?
How can I define an input for a component?
我为组件定义了一个输入,例如:@Input() person: Person 但是我遇到了这个错误:属性 'person' 没有初始化器并且在构造函数中没有明确分配 !!!。甚至,Person 模型也被导入了。对于任何类型的输入变量,如字符串、数字等,都会发生此错误...
当我将输入变量的类型更改为'any'时,问题就解决了!
如何在没有上述错误的情况下为组件定义其类型的输入?
您还没有分享您的代码,所以不确定您在哪里添加 @Input()
装饰器,这里是如何在组件中添加 @Input()
装饰器的工作示例。
您可以检查实现并将其与您所做的相匹配。
@Eliseo 评论后更新:
在 Angular 12 中你有一个 strictPropertyInitialization
,你可以使用“明确赋值断言”,(在声明输入时添加一个!)@Input() person!: Person;
或通过缺陷 @Input() person: Person=new Person()
给出一个值
import { Component, Input, OnInit } from '@angular/core';
@Component({
selector: 'app-person',
templateUrl: './person.component.html',
styleUrls: ['./person.component.scss'],
})
export class PersonComponent implements OnInit {
@Input() person!: Person;
constructor() {}
ngOnInit(): void {}
}
我为组件定义了一个输入,例如:@Input() person: Person 但是我遇到了这个错误:属性 'person' 没有初始化器并且在构造函数中没有明确分配 !!!。甚至,Person 模型也被导入了。对于任何类型的输入变量,如字符串、数字等,都会发生此错误... 当我将输入变量的类型更改为'any'时,问题就解决了! 如何在没有上述错误的情况下为组件定义其类型的输入?
您还没有分享您的代码,所以不确定您在哪里添加 @Input()
装饰器,这里是如何在组件中添加 @Input()
装饰器的工作示例。
您可以检查实现并将其与您所做的相匹配。
@Eliseo 评论后更新:
在 Angular 12 中你有一个 strictPropertyInitialization
,你可以使用“明确赋值断言”,(在声明输入时添加一个!)@Input() person!: Person;
或通过缺陷 @Input() person: Person=new Person()
给出一个值
import { Component, Input, OnInit } from '@angular/core';
@Component({
selector: 'app-person',
templateUrl: './person.component.html',
styleUrls: ['./person.component.scss'],
})
export class PersonComponent implements OnInit {
@Input() person!: Person;
constructor() {}
ngOnInit(): void {}
}