我有一个父组件和子组件
parent-component.html:
<child-component [data]="values">
</child-component>
child-component.ts:
export class ChildComponent implements OnInit, OnDestroy{
@Input() data: Employees[];
ngOnChanges(changes: SimpleChanges) {
}
}
现在子组件处理数据属性(Employees[]
)数组
并显示下拉列表。
请注意,Employees[]
并未显示在下拉列表中
某些处理是通过其他方法完成的,例如
showDropDown():void{
//process Employees array and optionList array is created out of it
//optionList[] this array is used by child component to display
//drop down list
}
现在,父级进行http呼叫,以从后端(值属性)获取数据。
每次用户在文本框中输入内容时都会发生这种情况。
因此,每次用户输入子组件时,都必须更新下拉列表,该下拉列表从@Input property (Employees[])
现在,要更新子组件并显示下拉列表,
我曾经使用过ngOnChanges
方法,如下所示-
ngOnChanges(changes: SimpleChanges) {
if (changes.data) {
this.showDropDown();
}
}
它工作正常,没有问题
随着用户不断在文本框中输入/删除值,放置值保持不变 更改
我的问题是:
1)这里使用ngOnChanges
是一个正确选择吗?
2)是ngOnChanges
的正确应用吗?