Javascript 角度-可重复使用的显示组件&;修改导致@输入问题?
我创建了一个显示用户信息的Javascript 角度-可重复使用的显示组件&;修改导致@输入问题?,javascript,angular,Javascript,Angular,我创建了一个显示用户信息的user组件 <my-user [person]="person1" (onEdit)="showEdit($event)"></my-user> 但问题是有一个@输入,我不会传递该输入,因为它是有条件显示的。 因此出现了错误: 错误类型错误:无法读取未定义的属性“id” 我认为它来自试图使用@Input的内部组件: ID: <input [(ngModel)]="person.id" type='text' /><b
user
组件
<my-user [person]="person1" (onEdit)="showEdit($event)"></my-user>
但问题是
有一个@输入,我不会传递该输入,因为它是有条件显示的。
因此出现了错误:
错误类型错误:无法读取未定义的属性“id”
我认为它来自试图使用@Input的内部组件:
ID: <input [(ngModel)]="person.id" type='text' /><br>
ID:
问题
我知道我可以/应该创建另一个组件进行编辑,或者使用主题订阅编辑事件,但仍然:
如何有条件地显示相同的组件并填充(!)需要修改的值
为什么不在创建组件的过程中创建一个Person
实例:
export class User {
@Input() person:Person = new Person();
constructor() {}
}
为什么不在创建组件的过程中创建一个Person
实例:
export class User {
@Input() person:Person = new Person();
constructor() {}
}
@Input()person:person={}代码>或安全导航操作员人员?.id
?或克隆对象,如果您想使用“保存/取消”按钮,这也将work@Royi问题在于它位于*ngIf
内部,这意味着它不是在调用函数时创建的,因为isEditing
仍然是false
(根据当前的更改检测周期)。您应该开始一个新的变更检测周期,它将是可见的then@PierreDuc是右@Input()person:person={}代码>或安全导航操作员人员?.id
?或克隆对象,如果您想使用“保存/取消”按钮,这也将work@Royi问题在于它位于*ngIf
内部,这意味着它不是在调用函数时创建的,因为isEditing
仍然是false
(根据当前的更改检测周期)。您应该开始一个新的变更检测周期,它将是可见的then@PierreDuc是myne的愚蠢错误myne的愚蠢错误。