确认对话框将其注入或隐藏(性能)

时间:2017-05-03 13:01:18

标签: angular dom

我写了一个小确认对话框组件,我将它附加到DOM,在我的app.component.html

<app-confirm-dialog></app-confirm-dialog>

当我调用服务方法

时,组件显示出来

有效('','')。

    import { Injectable } from '@angular/core';

@Injectable()
export class ConfirmDialogService
{

  activate: (message?: string, title?: string) => Promise<boolean>;

  constructor() { }

}

正如我的用户所说,我的应用确认对话框的代码已附加并正在收听更改,这对性能不是很好。

动态注入它是否更好,或者在* ngIf = false时是否可以将其附加?

1 个答案:

答案 0 :(得分:0)

这取决于您的使用案例 - 如果您认为确认对话是singleton,那么依赖注入将是可行的方法。 (对于确认对话,这是一个非常安全的假设 - 怀疑你会有多个实例)

另一方面,如果由于某种原因你想在屏幕上有多个确认对话框,你将被迫使用ngIf

当条件为false时,记住ngIf实际上会阻止DOM中存在元素 - 这意味着它们的组件逻辑不会侦听更改,因此您可能需要考虑这些。

无论如何,我认为你没有注意到像这样微不足道的东西的性能差异。