【问题标题】:Angular2 use template as selectorAngular2 使用模板作为选择器
【发布时间】:2016-09-14 12:40:08
【问题描述】:

一段时间以来,我一直在尝试实现一个模板组件,以将 tr 组放入 tbody 表中(除了 tr 之外,模板是唯一可以接受的东西)。

有没有人幸运地将模板扩展为选择器,例如:

@Component({
selector: 'template [extended]', ...
})

然后在其他一些组件的html模板中像这样调用组件?

<template extended></template>

当我尝试像上面这样的简单示例时,我得到了模板解析和嵌入模板错误的组件

【问题讨论】:

    标签: templates angular


    【解决方案1】:

    Angular 不会将 &lt;template&gt; 元素添加到 DOM。 IE也不支持&lt;table&gt;&lt;ul&gt;中的&lt;template&gt;标签

    我猜属性指令可以帮助你实现你想要的(只是一个猜测,因为我不知道你到底想完成什么)

    @Component({
      selector: 'tr[extended]', ...
    })
    

    并像使用它

    <tr extended><tr>
    

    【讨论】:

    • 这确实有效,但我正在尝试实现一组 行作为用户输入的一个功能单元。单击一行时,第二行的表单元素通过 *ngIf 使用第一行的数据显示。因此试图将它们包装到一个带有状态的组件中
    • 我没有看到使用组件的方法。我想这应该与结构指令一起使用。它们与&lt;template&gt; (angular.io/docs/ts/latest/guide/structural-directives.html) 一起使用。
    • 谢谢。我最终选择了模板。我的解决方案是在模板标签内实现每组行,并使用 ngFor 指令重复该组。状态可以保存在其中一行中,例如 ...
    • 还有ngForTemplatengTemplateOutlet(不确定它们是否对你的工作有帮助)。
    【解决方案2】:

    template 标签是一个内置组件,它实际上并不渲染到视图中。例如,有了它,您可以避免在同一组件上需要 *ngIf*ngFor 的情况。

    【讨论】:

      猜你喜欢
      相关资源
      最近更新 更多
      热门标签