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标记。
但是,这有两个原因,并不像看起来那样糟糕:
-
你可以做任何你想做的事情,没有表,TR,TD等,只是使用像div,跨度等元素和一些CSS上
-
Web组件(和指令是模拟它们的第一次尝试)并不意味着代表标记的这种小碎片。 他们更多地被认为是一个function齐全的组件,实际上正在做某件事 所以无论你想用tr来做什么,都认为值得在它周围build立一个元素指令,它可能不是。
也许,你可以做的是使用一个属性指令,而不是:
<tr my-mail-directive></tr>
而你的my-mail-directive在tr元素上做了一些神奇的事情