【问题标题】:Create Component every time or track changes on onChanges event?每次都创建组件或跟踪 onChanges 事件的更改?
【发布时间】:2017-09-13 14:07:32
【问题描述】:

我需要在我的网格中有一个上下文菜单,单击任何行时都可以看到它。我决定在单独的组件中创建它,并使用ComponentFactoryResolverViewContainerRef 显示它,并在单击此菜单外部或关闭按钮时将其销毁。

现在,我在想我可以用另一种方式做到这一点,首先我需要在用户第一次点击任何行时创建这个组件,当用户点击关闭或外部时,只会隐藏这个菜单。在以后的行点击组件将不会创建,而是使用OnChanges 进行跟踪,传递给它的值将反映并且菜单将可见。

如果我没记错的话,我需要在我的主要组件销毁事件中销毁这个菜单组件。任何机构都可以建议哪种方式更好或有另一种更好的方式。

【问题讨论】:

  • 请发布演示您尝试完成的代码的代码。仅从散文中很难获得清晰的画面。只需使用 *ngFor 也可以,然后在绑定的数组中添加/删除项目。

标签: angular


【解决方案1】:

为上下文菜单设置不同的组件是个好主意。但是每次在用户点击时创建一个新组件都会影响你的应用程序的性能。我只是建议您拥有一个组件并隐藏/显示该组件,而不是每次都创建。

您还可以更改组件的ChangeDetectionStrategy 以进一步提高应用程序的性能。

【讨论】:

  • 是的,我也是这么想的。将其标记为答案
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-17
  • 1970-01-01
  • 2019-03-04
  • 1970-01-01
  • 2012-06-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多