我有一个包含表的父组件和一个包含引导模态的子组件。
单击表中的一行时,模态应弹出,其中包含许多功能和与单击的行匹配的已筛选选择框。
根据我的理解,这三个是我的选择:
A。。通过@Viewchild
在子组件(模态)中打开带有函数的模态。关闭后,子组件中的另一个函数应清除模式中的属性和字段。
优点:每次单击一行时,DOM都不必重新创建子组件。
缺点:如果不需要模态,将不必要地创建它。 +我必须在关闭时重置字段。
B。在子组件(模态)上使用*ngIf
。单击一行时,if
语句变为true
,并且在ngOnInit
中,模式会调用方法以弹出模式。
优点:无需重置字段,所有内容都将在ngOnInit
中设置。
cons:将在每次单击一行时创建。
C。。在父子之间使用消息服务,该消息服务将触发模式上的显示/隐藏。
缺点:为此需要构建服务。
我想了解在这些方法中什么是好的做法,什么是坏的做法。或通过其他方式实现这一目标。我正在做一个大项目,需要做很多事情。