как создать вложенную сетку в ngtable?

#angularjs #ng-grid #ngtable

#angularjs #ng-grid #ngtable

Вопрос:

Я пытаюсь создать вложенную сетку в моей ngtable следующим образом:

  <table ng-table="tableParams" class="table">
      <tr ng-repeat="user in $data">
        <td data-title="'Name'">{{user.name}}</td>
        <td data-title="'Age'">{{user.age}}</td>
        <td data-title="'kids'">
          <table ng-table="nestedtableParams" class="table">
            <tr ng-repeat="nesteduser in $nesteddata">
              <td data-title="'Name'">{{nesteduser.name}}</td>
              <td data-title="'Age'">{{nesteduser.age}}</td>
            </tr>
          </table>
        </td>
      </tr>
    </table>
  

вопрос: почему вложенные данные не отображаются? вот plunkr:
http://plnkr.co/edit/dKTtU89f7z6nQptgEZxN?p=preview

Ответ №1:

Это заработало, добавив данные в $scope : (частичный пример кода)

 $scope.nesteddata = [{
    name: "Kid Moroni",
    age: 50
}, {
    name: "Kid Tiancum",
    age: 43
}, {
    name: "Kid Jacob",
    age: 27
}, {
    name: "Kid Nephi",
    age: 29
}, {
    name: "Kid Enos",
    age: 34
}];
  

А затем в функциях контроллера обратитесь к этим $scope переменным:

 $scope.nestedtableParams = new ngTableParams({
    page: 1, // show first page
    count: 10 // count per page
}, {
    total: $scope.nesteddata.length, // length of data
    getData: function($defer, params) {
        $defer.resolve($scope.nesteddata.slice((params.page() - 1) * params.count(), params.page() * params.count()));
    }
});
  

Наконец, в разметке я пропустил $ prefix , поскольку эти данные теперь находятся в области видимости:

 <table ng-table="tableParams" class="table">
    <tr ng-repeat="user in data">
        <td data-title="'Name'">{{user.name}}</td>
        <td data-title="'Age'">{{user.age}}</td>
        <td>
            <table ng-table="nestedtableParams" class="table">
                <tr ng-repeat="user in nesteddata">
                    <td data-title="'Name'">{{user.name}}</td>
                    <td data-title="'Age'">{{user.age}}</td>
                </tr>
            </table>
        </td>
    </tr>
</table>
  

Рабочий плунжер (хотя я сомневаюсь, что имеет смысл вкладывать такие сетки)

Комментарии:

1. плунжер сломан