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的愚蠢错误。