使用ng-container与模板的好处?

时间:2019-01-03 20:40:38

标签: javascript html angular html5 typescript

我们可以做到:

template: `<ng-container #c></ng-container>`

或:

template: `<template #c></template>`

创建在呈现模板时隐藏的视图容器。

在HTML模板替代方案上使用ng-container有区别吗?我猜测Angular必须拥有自己的模板容器,例如ng-templateng-container,因为使用原始html模板元素可能会破坏非基于浏览器的运行时,例如移动客户端等。< / p>

1 个答案:

答案 0 :(得分:3)

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.bundle.min.js"></script> <div class="container p-5"> <div class="row"> <div class="col-sm-12"> <h1>Message Here</h1> <div id="head-msg"></div> </div> </div> </div>始终被呈现,但不表示DOM元素。它仍然附加在组件的视图上。

<ng-container>仅在明确请求时才会呈现。

这是一个很好的参考资料:

http://nataliesmith.ca/blog/ngtemplate-ngcontainer-ngcontent

  

创建在呈现模板时隐藏的视图容器。

尽可能使用<ng-template><ng-template>用于将DOM元素分组在一起。例如;当您需要将<ng-container>应用于许多*ngIf元素时,因为您不能在<td>周围使用<span>