首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >替代ng-容器没有注释?

替代ng-容器没有注释?
EN

Stack Overflow用户
提问于 2018-01-16 21:57:38
回答 1查看 1.8K关注 0票数 1

当使用ng容器时,它被呈现为HTML注释:

代码语言:javascript
复制
<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}}

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-17 07:41:59

是否有不生成HTML中注释的ng容器的角替代方案?

需要在模板中有一些DOM节点,以便能够在模板之后插入元素。在ng-container的例子中,它是注释。对于路由器,它是router-outlet。任何DOM节点都可以充当锚点。

下面是使用本机DOM的示例,该示例显示了角的作用:

代码语言:javascript
复制
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节点充当锚。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48290482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档