是否可以通过动态更改其选择器名称来加载Angular 2组件?

时间:2016-11-19 17:25:01

标签: angular

我有两个Angular 2组件,<future-todos><past-todos>。我可以以某种方式动态加载它们,如下所示?

component.ts

if (condition) {
    list = 'future';
} else {
    list = 'past';
}

component.html

<{{list}}-todos></{{list}}-todos> 

我的实际情况比较复杂,我省略了很多代码来简化这个显示我需求的例子。

1 个答案:

答案 0 :(得分:1)

简短回答:不。

但在这种情况下可以使用NgSwitch

HTML:

<div [ngSwitch]="list">
    <div *ngSwitchCase="future">
        <future-todos></future-todos>
    </div>
    <div *ngSwitchCase="past">
        <past-todos></past-todos>
    </div>
    <div *ngSwitchDefault>Unrecognized list type</div>
</div>

别忘了默认类型