【问题标题】:Can one component have multiple templates?一个组件可以有多个模板吗?
【发布时间】:2016-08-31 11:16:36
【问题描述】:

Angular 2 组件有没有办法根据我想要放置的位置使用许多模板文件?

例如,我有一个login 组件,我想用两种不同的设计在我的网站上放置两次。

有没有办法可以将模板传递给组件?

【问题讨论】:

    标签: angular angular2-template


    【解决方案1】:

    不确定 NG2 是否有内置方式来支持这一点。我只是使用一个基组件类来包含所有或大部分逻辑和数据,而没有 html 模板。然后在派生的组件类中,只需要声明构造函数调用super(...),并定义各自的html模板。

    如果您的应用程序很复杂,很可能您将使用模块来实例化类,那么请确保在 Component 属性中声明 moduleId: module.id,否则 NG2 运行时可能会抱怨无法加载 html 模板。

    【讨论】:

      【解决方案2】:

      我认为最简单的方法是在模板中使用 *ngIf。

      <div *ngIf="template === 1"> First Template </div>
      <div *ngIf="template === 2"> Second Template </div>
      

      【讨论】:

      • 既然没有人能给我更好的答案。我正在使这个被接受。谢谢你的帮助。
      • 这没有回答问题。这是使用同一模板的一部分来显示条件信息。
      猜你喜欢
      • 1970-01-01
      • 2020-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-07
      • 2011-01-30
      • 2017-08-22
      • 1970-01-01
      相关资源
      最近更新 更多