看起来新的AngularJS 1.5组件概念中没有“替换”选项(就像指令一样)。
如果我想将表格行 <TR>
元素作为组件,您会建议什么?在有效的HTML方面是不可能的?
真实示例:mailBox组件里面有邮件组件。通过标记mail-box-component是表,邮箱是tr。
<mail-box>
<mail ng-repeat="mail in $ctrl.mails" mail="mail"></mail>
<mail-box>
UPD :有关指令的相关讨论 - Why is replace deprecated in AngularJS?
答案 0 :(得分:24)
由于不推荐使用replace:true标志
,因此不可能采用角度方式Why is replace deprecated in AngularJS?
替换:真正的旗帜提出了比解决方案更多的问题,这就是它被删除的原因。 因此,您不能再以这种方式构建指令并提供有效的table-tr-td标记。
但是,有两个原因可以解释为什么它不像它看起来那么糟糕:
如果没有table,tr,td等,你可以做你想做的一切。 只使用div,span等元素和一些css
web-components(指令是第一次尝试模拟 它们并不意味着代表标记的这些小片段。 实际上,他们更多地被认为是一个功能齐全的组件 做某事。所以无论你想用你的tr做什么 认为值得围绕它构建一个元素指令,它 可能不是。
也许,你可以做的是使用属性指令代替:
<tr my-mail-directive></tr>
和你的my-mail-directive在tr元素上做了魔术