看起来新的AngularJS1.5组件概念中没有“替换”选项(就像用于指令一样)。
如果我想将 表格行 <TR>元素作为组件,您会提出什么建议?就有效的HTML而言,这是不可能的吗?
<TR>
实际示例:mailBox组件内部具有邮件组件。通过标记,mail-box-component是table,而mail-box是tr。
<mail-box> <mail ng-repeat="mail in $ctrl.mails" mail="mail"></mail> <mail-box>
UPD :有关指令的相关讨论-为什么AngularJS中不推荐使用replace?
由于replace:true标志已被弃用,因此不再可行
为什么在AngularJS中不推荐使用replace?
replace:true标志比解决方案提出了更多的问题,因此将其删除。因此,您不能再以这种方式构建指令并提供有效的table-tr-td标记。
但是,有两个原因使它看上去不那么糟糕:
您可以在不使用表,tr,td等的情况下完成所有想要做的事情,只需使用div,span等元素以及其中的一些CSS
Web组件(指令是首次模拟它们)并不意味着代表标记的这些小片段。他们更多地被认为是实际上在做某事的一个功能齐全的组件。因此,无论您想对tr做什么,都认为值得围绕它构建一个元素指令,但这可能不是。
也许,您可以使用属性指令代替:
<tr my-mail-directive></tr>
而您的my-mail指令对tr元素起到了神奇作用