一个组件可以有多个模板吗?

时间:2016-08-31 11:16:37

标签: angular angular2-template

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

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

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

2 个答案:

答案 0 :(得分:5)

不确定NG2是否有内置方式支持此功能。我只是使用基本组件类来包含所有或大多数逻辑和数据,没有html模板。然后在派生的组件类中,只需要声明构造函数调用super(...),并定义相应的html模板。

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

答案 1 :(得分:-6)

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

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