当您为子组件分配原始值(字符串,数字,布尔值)时创建父组件和子组件时,您必须使用eventemitter创建@Input和@Output以获得双向通信 . 到现在为止还挺好 .
但是,当我使用@Input将复杂的Object分配给我的子组件时,我在Object中更改了一些值,然后我也在Parent组件中看到了这些更改 . 因为我正在编辑一个对象引用 .
所以我的问题是,我应该避免在我的子组件中设置复杂对象,还是这是一种不好的做法?是否有任何可能性或者可以像“双向数据绑定”一样使用它 .
使用relvant属性创建模型
export interface InputModel { a:string; b:number; c:boolean; }
创建此类型的@Input属性
@Input() obj : InputModel
通过这种方式对Input对象的任何属性进行任何更改 . 将触发 ngOnChanges() ,可用于处理您的操作
ngOnChanges()
1 回答
使用relvant属性创建模型
创建此类型的@Input属性
通过这种方式对Input对象的任何属性进行任何更改 . 将触发
ngOnChanges()
,可用于处理您的操作