<div ng-controller="xxxController" >
<table>
<tr ng-repeat="x in xxxx">
<td>...
</td>
</tr>
</table>
</div>
ng-controller标签在任何表格旁边,它工作正常。
但如果ng-contoller标签在任何表格内,则ng-repeat不起作用
<table>
<div ng-controller="xxxController" >
<tr ng-repeat="x in xxxx">
<td>...
</td>
</tr>
</div>
</table>
答案 0 :(得分:6)
c(1, "a")
不是<div>
的有效子元素。因此,<table>
会移到<div ng-controller="xxxController">
之外,导致<table>
无效,因为它们也会在<tr>
之外。
为了<table>
位于<div>
内,它实际上需要是<table>
的孩子,我认为这会打破你的结构。
作为替代方案,在<td>
元素本身上使用ng-controller
是一种有效的语法:
<table>
答案 1 :(得分:0)
<table>
<tr>
<td>
<div ng-controller="xxx" >
<tr ng-repeat="x in xxxx">
<td>...
</td>
</tr>
</div>
</td>
</tr>
</table>
我测试过,这个有效。 div是无效的表元素,所以如果是side表中的div,必须用td元素包装,以便ng-controlller工作。
但是在我的情况下,在嵌套的多表中使用div,即使换行也行不通。
所以最终的解决方案是用div元素替换表元素。例如,你有嵌套表,用嵌套的div替换它们,这将始终保证div ng-controll =“xxxx”工作!