我正在使用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上,仅在需要和调用指令时才添加。这是最佳做法吗?预先感谢。
答案 0 :(得分:0)
Dynamic adding components or directives
是Angular中记录的一项技术,因为它提供了一种动态添加组件/指令的方法,例如我们要使用的时刻
当应用程序启动时不起作用。这是Angular的常规做法,文档指定为here。
重要的一点是,它不会破坏而是在每次触发时添加新组件,这可能会不时降低应用程序的性能。因此,只需添加one or limited number of dynamic components
并尝试重用将有助于提高性能。对于您的情况,在populating a modal
中,应该只添加一个组件来包装模式,然后在每次调用时输出不同的消息。