将角度指令自身(选择器)附加到文档中是否是一种好习惯?

时间:2019-07-15 01:15:14

标签: angular directive

我正在使用ng-bootstrap与选择器<test-modal>进行模态对话框。我最初想将其作为组件。但是,这就像navbar一样,我需要将其放在AppComponent中,并且每个页面共享相同的模式组件。逻辑似乎不正确。

因此,我尝试制定一条指令,以允许每个页面都可以拥有自己的模式。但是,然后我将<test-modal>放入了“可能”需要模式的每个组件中。因此,无论是否提示模式,每个页面都必须包含此代码。我不确定这是否是正常做法。

然后我找到此页面: https://jasonwatmore.com/post/2018/05/25/angular-6-custom-modal-window-dialog-box 它将模式作为动态指令,并将<test-modal>附加在文档html上,仅在需要和调用指令时才添加。这是最佳做法吗?预先感谢。

1 个答案:

答案 0 :(得分:0)

Dynamic adding components or directives是Angular中记录的一项技术,因为它提供了一种动态添加组件/指令的方法,例如我们要使用的时刻  当应用程序启动时不起作用。这是Angular的常规做法,文档指定为here

重要的一点是,它不会破坏而是在每次触发时添加新组件,这可能会不时降低应用程序的性能。因此,只需添加one or limited number of dynamic components并尝试重用将有助于提高性能。对于您的情况,在populating a modal中,应该只添加一个组件来包装模式,然后在每次调用时输出不同的消息。