我正在尝试使用ng-repeat在表内构建tr,并且正在基于使用行作为值的某些逻辑来构建它。这是介绍空tr的方法,如何删除它?

这段代码在tbody的末尾添加了2个空tr。

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

app.controller('MainCtrl', function($scope) {

$scope.data = [
{
    "name" : "John",
    "row" : 1
},
 {
    "name" : "Mike",
    "row" : 2
},
 {
    "name" : "Bill",
    "row" : 1
},
{
    "name" : "Alice",
    "row" : 3
},
{
    "name" : "David",
    "row" : 2
}
 ]
 });



app.directive('specrow', ['$compile', function($compile) {
return {
  restrict: 'A',
    scope : {
      'specobj' : '=',
      'specitemindex' : '='
    },
    link: function (scope, elem, attrs){
      var template = "<td><span>{{specobj.name}}</span></td>";
        var linkFn = $compile(template);
        var content = linkFn(scope);
        var trEl = angular.element(elem[0].parentElement.children).eq(scope.specobj.row-1);
        if(trEl.length === 0) {
          elem.append(content);
        }else{
          angular.element(elem[0].parentElement.children).eq(scope.specobj.row-1).append(content);
        }
    }
  }
}]);


Plnkr:http://plnkr.co/edit/I3kl9U41n3VzQvqFfG4G?p=preview

最佳答案

所以有答案:)

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

app.controller('MainCtrl', function($scope) {
  $scope.name = 'World';
  $scope.data = [
    {
        "name" : "John",
        "row" : 1
    },
     {
        "name" : "Mike",
        "row" : 2
    },
     {
        "name" : "Bill",
        "row" : 1
    },
    {
        "name" : "Alice",
        "row" : 3
    },
    {
        "name" : "David",
        "row" : 2
    }
  ]
});

table, th, td {
   border: 1px solid black;
} 

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/angular-filter/0.1.1/angular-filter.min.js"></script>

<body ng-app="app">
    <table ng-controller="MainCtrl">
      <tbody>
          <tr ng-repeat="row in data |groupBy: 'row' | orderBy : 'row'">
          <td ng-repeat="person in row">{{person.row}}.{{person.name}}</td>

          </tr>
      </tbody>
    </table>
  </body>

关于javascript - 如果没有子级,则删除tr-ng-repeat-angular,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26035341/

10-09 17:10
查看更多