当使用ng容器时,它被呈现为HTML注释:
<div>
<ng-container>foo</ng-container>
<div>
will produce this kind of output :
<div>
<!--template bindings={}-->foo
<div>对于ng容器,是否有不产生HTML注释的角度替代方案?我问b/c,我的应用程序从数据库中动态创建法律文档,每个文档都有几十页长,每个页面上都有许多组件,这些组件是使用带有ng开关的ng容器生成的。当我查看HTML源代码时,我看到90%的页面是这些呈现的注释,动态生成页面也需要10秒的时间。我还没有统计过,但我预计页面中会有数千行无关的评论行。因此,我希望摆脱HTML中的所有杂乱,希望这也能加速页面生成。虽然我的页面是动态生成的,但是在生成页面之后,结构不会改变。例如,我不需要角度才能返回并切换到带有标签的文本输入。它是静态的。
下面是一个小代码片段,让您了解我是如何处理事情的:
{{ctrl.displayText}ng}ng容器*ngIf="!ctrl.readOnly"> {{protocolctrl.objectName}}
发布于 2018-01-17 07:41:59
是否有不生成HTML中注释的ng容器的角替代方案?
角需要在模板中有一些DOM节点,以便能够在模板之后插入元素。在ng-container的例子中,它是注释。对于路由器,它是router-outlet。任何DOM节点都可以充当锚点。
下面是使用本机DOM的示例,该示例显示了角的作用:
const comment = document.createComment('ng-container - insert after me');
document.body.appendChild(comment);
const span = document.createElement('span');
span.textContent = 'I am inserted after comment';
document.body.insertBefore(span, comment.nextSibling);如果没有DOM节点(在ng-container中没有注释),Angular就没有任何DOM节点充当锚。
https://stackoverflow.com/questions/48290482
复制相似问题