如何在Angular 5组件中有条件地加载templateUrl html文件

时间:2018-04-23 06:35:56

标签: javascript angular typescript webpack angular5

我的项目中有一个场景, 考虑一下,我有一个testDynamic组件

@Component({
    templateUrl: "./test-dynamic.html", // Need to override this file
    styleUrls: ['./test-dynamic.css']
})
export class testDynamic {
    constructor() { }
}

这里需要检查override文件中是否存在override1.html文件,然后将此文件作为templateUrl加载,否则加载组件默认test-dynamic.html。 知道怎么做到这一点。?

请参阅以下图片以便清楚了解

enter image description here

2 个答案:

答案 0 :(得分:3)

参考以下链接,这是动态templateUrl的一个很好的例子

Angular 2/4 component with dynamic template or templateUrl

答案 1 :(得分:2)

您无法添加多个HTML文件。

您可以使用* ngIf或* ngSwitchCase仅显示模板的部分内容(如果您的意图)。那么你只有一个模板html文件。

然后你的模板的html会是这样的:

<div *ngIf="YOUR_CONDITION">View 01</div>
<div *ngIf="YOUR_CONDITION">View 02</div>