2017-07-25 17 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」的工作!

相關問題