angular度组件:没有模板replace选项?

看起来在新的AngularJS 1.5组件概念中没有“replace”选项(就像是指令一样)。

如果我想要表行 <TR>元素作为组件,你会build议什么? 在有效的HTML方面是不可能的?

真实的例子:mailBox组件里面有邮件组件。 通过标记邮箱组件是表,邮箱是tr。

 <mail-box> <mail ng-repeat="mail in $ctrl.mails" mail="mail"></mail> <mail-box> 

UPD :关于指令的相关讨论 – 为什么在AngularJS中不推荐使用replace?

由于replace:true标志已被弃用,所以再也不能使用-angle-way了

为什么在AngularJS中不推荐使用replace?

替代:真正的国旗已经提出了更多的问题比解决scheme,这是为什么它被删除。 因此你不能以这种方式build立指令,并提供有效的table-tr-td标记。

但是,这有两个原因,并不像看起来那样糟糕:

  1. 你可以做任何你想做的事情,没有表,TR,TD等,只是使用像div,跨度等元素和一些CSS上

  2. Web组件(和指令是模拟它们的第一次尝试)并不意味着代表标记的这种小碎片。 他们更多地被认为是一个function齐全的组件,实际上正在做某件事 所以无论你想用tr来做什么,都认为值得在它周围build立一个元素指令,它可能不是。

也许,你可以做的是使用一个属性指令,而不是:

 <tr my-mail-directive></tr> 

而你的my-mail-directive在tr元素上做了一些神奇的事情