2017-07-25 18 views
0
<div ng-controller="xxxController" >       
    <table>      
    <tr ng-repeat="x in xxxx"> 
     <td>... 
     </td> 
    </tr> 
    </table> 
</div> 

吴控制器标记出任何表,它工作正常。ng-controller里面的表不起作用,为什么?

但低于如果NG-位指示标记任何表内,NG-重复行不通

<table>                
    <div ng-controller="xxxController" > 
    <tr ng-repeat="x in xxxx"> 
     <td>... 
     </td> 
    </tr> 
    </div>  
</table> 
+0

最终的解决方案是用div元素替换表格元素。例如,你有嵌套表格,将它们替换为嵌套div,这将始终保证div-controll =“xxxx”的工作! – hoogw

回答

6

<div>不是<table>有效的子元素。因此,<div ng-controller="xxxController">将移出<table>,使得<tr>无效,因为它们也会在<table>之外。

为了使<div>位于<table>之内,它实际上需要是<td>的孩子,我认为这会破坏您的结构。

作为替代方案,这是一个有效的语法有ng-controller<table>元素本身:

<table ng-controller="xxxController"> 
    <tr ng-repeat'"x in xxx"> 
    <td>... 
    </td> 
    </tr> 
</table> 
+0

不起作用,但是,在td作品中包装div。谢谢。 – hoogw

0
<table> 
    <tr> 
    <td>  
     <div ng-controller="xxx" > 

      <tr ng-repeat="x in xxxx"> 
       <td>... 
       </td> 
      </tr> 

     </div> 

     </td> 
    </tr> 
</table>  

我测试了一下,这个工程。 div不是有效的table元素,所以如果side table中的div必须被td元素包裹,ng-controlller才能工作。

但是在我的情况下,在嵌套多表中使用div时,即使换行也不起作用。

所以最终的解决方案是用div元素替换表格元素。例如,你有嵌套表格,将它们替换为嵌套div,这将始终保证div-controll =“xxxx”的工作!

相关问题