【问题标题】:Angular 2 - Global component approachAngular 2 - 全局组件方法
【发布时间】:2017-02-05 15:17:29
【问题描述】:

如果我希望组件可全局访问,例如登录模式,那么哪种方法是最好的方法。

  1. 在每个组件视图中声明一个新的
  2. 在我需要时动态实例化一个新实例
  3. 在 AppComponent 上声明一个,创建一个函数来管理它,并在需要使用它的组件上注入 AppComponent。
  4. 其他?

【问题讨论】:

    标签: angular


    【解决方案1】:

    您只能为您的模态框编写一次逻辑,然后将其注册到您需要显示的任何地方。

    这将使您的代码清晰,一旦开发人员进入您的应用程序的某些部分,他将看到ModalComponent 已注册,因此他将理解为什么它在当前组件的一部分中使用。

    【讨论】:

    • 感谢您的回答!如果我这样做并注册模态组件,例如在“项目列表组件”中,我将多次而不是一次将 html 关联到模态,这可以吗?
    • 是的,你的组件 - ItemListComponent 使用它,所以,你为它注册了它,然后在 HTML 中使用它。一旦您需要其他模态,您将做同样的事情。不知道你的意思是 HTML 关联。 ModalComponent 它已经是部分的,带有 HTML,所以你需要使用它的一切 - 包括选择器,比如 <my-modal></my-modal> 。
    • 我想说的是,例如,如果模态组件有一个带有大 html 的模板,在生成的 html 中,我将多次将该 html 作为项目。
    • 您不必复制模态组件的代码。当您创建一个组件时 - 您将 HTML 部分附加到它一次。然后你使用选择器,就是这样。如果您的意思是渲染的 HTML 将具有很大的 HTML,并且从逻辑上讲,您可以在一个级别上拉出您的模态,这可能是您的解决方案。但要给出更明确的答案,最好看你的代码。
    • 对不起,我的意思是渲染的 html,我希望模态 html 在渲染的 html 上只出现一次。
    猜你喜欢
    • 2017-05-16
    • 1970-01-01
    • 1970-01-01
    • 2017-09-12
    • 2017-03-09
    • 2016-08-08
    • 1970-01-01
    • 1970-01-01
    • 2017-01-07
    相关资源
    最近更新 更多