【发布时间】:2016-08-31 11:16:36
【问题描述】:
Angular 2 组件有没有办法根据我想要放置的位置使用许多模板文件?
例如,我有一个login 组件,我想用两种不同的设计在我的网站上放置两次。
有没有办法可以将模板传递给组件?
【问题讨论】:
Angular 2 组件有没有办法根据我想要放置的位置使用许多模板文件?
例如,我有一个login 组件,我想用两种不同的设计在我的网站上放置两次。
有没有办法可以将模板传递给组件?
【问题讨论】:
不确定 NG2 是否有内置方式来支持这一点。我只是使用一个基组件类来包含所有或大部分逻辑和数据,而没有 html 模板。然后在派生的组件类中,只需要声明构造函数调用super(...),并定义各自的html模板。
如果您的应用程序很复杂,很可能您将使用模块来实例化类,那么请确保在 Component 属性中声明 moduleId: module.id,否则 NG2 运行时可能会抱怨无法加载 html 模板。
【讨论】:
我认为最简单的方法是在模板中使用 *ngIf。
<div *ngIf="template === 1"> First Template </div>
<div *ngIf="template === 2"> Second Template </div>
【讨论】: