2016-07-24 127 views
3

我在tbody中使用ng-repeat存在問題。 當我使用該代碼:AngularJS ng-repeat in tbody not working

<tbody> 
    <tr ng-repeat="group in groups"> 
     <td>{{ group.name }}</td> 
    </tr> 
</tbody> 

我得到這個錯誤:

TypeError: Cannot read property 'childNodes' of undefined

但有這樣的代碼:

<div ng-repeat="group in groups">{{group.name}}</div> 

內同一範圍內運行完美。我發現了一些在tbody上使用ng-repeat的答案,但是我需要這個結構來使用jQuery數據表。任何人都可以幫助我嗎?

+1

你能爲錯誤提供jsfiddle嗎? –

+0

似乎真的很傻。給我多一點代碼,看看你可能會出錯的地方。看看這個plunk(https://plnkr.co/edit/KcZiBiY4s9TPASYIg0eB) – Alok

+0

對不起,我不知道如何使用所有這些小提琴般的東西。以下是更多代碼:https://plnkr.co/edit/nDRj7T9Cy5hugqQLEhM3?p=catalogue –

回答

2

嘗試這樣的,它的工作

var app = angular.module('plunker', []); 
 

 
app.controller('MainCtrl', function($scope) { 
 
    $scope.groups = [ 
 
     {name: 'Michał', users: 5, owners: 4}, 
 
     {name: 'Michał', users: 5, owners: 4}, 
 
     {name: 'Michał', users: 5, owners: 4}, 
 
     {name: 'Michał', users: 5, owners: 4} 
 
    ]; 
 
});
<!DOCTYPE html> 
 
<html> 
 

 
    <head> 
 
    <meta charset="utf-8" /> 
 
    <title>AngularJS Plunker</title> 
 
    <script>document.write('<base href="' + document.location + '" />');</script> 
 
    <link href="style.css" rel="stylesheet" /> 
 
    <script data-semver="1.4.9" src="https://code.angularjs.org/1.4.9/angular.js" data-require="[email protected]"></script> 
 
    <script src="app.js"></script> 
 
    </head> 
 

 
    <body ng-app="plunker" ng-controller="MainCtrl"> 
 
    using div 
 
    <div ng-repeat="group in groups">{{group.name}}</div> 
 
    using table 
 
    <table> 
 
    <tbody> 
 
    <thead> 
 
         <tr> 
 
          <th>name</th> 
 
          <th>user</th> 
 
          
 
         </tr> 
 
        </thead> 
 
<tr ng-repeat="group in groups"> 
 
     <td>{{ group.name }}</td> 
 
     <td>{{ group.users }}</td> 
 
    </tr> 
 
    </tbody> 
 
</table> 
 

 
    </body> 
 

 
</html>

+0

我無法使用靜態控制器。我使用ng-view進行乘法運算,所以這種方式不會起作用。 –

0

您試圖訪問 「group.name」

如果 「組」 是你的範圍數組名,確保「名稱「是你的數組元素。 從你得到的錯誤,我認爲你的數組元素名稱是不一樣的,你試圖訪問。 如:

app.js:

var app = angular.module('testing', []); 

app.controller('mainctrl', function($scope) { 
$scope.groups = [ 
{name: 'Apple'}, 
{name: 'Orange'}, 
{name: 'Banana'} 
]; 
}); 

的index.html

<!DOCTYPE html> 
<html ng-app="testing"> 
<head> 
<meta charset="utf-8" /> 
<title>Testing</title> 
<link rel="stylesheet" href="style.css" /> 
<script data-require="[email protected]" src="https://code.angularjs.org/1.4.9/angular.js" data-semver="1.4.9"></script> 
<script src="app.js"></script> 
</head> 
<body ng-controller="mainctrl"> 
<table> 
    <tr ng-repeat='group in groups'> 
    <td>{{group.name}}</td> 
    </tr> 
    </table> 
    </body> 
    </html> 

希望它幫助。 :)