2017-02-03 7 views
2

In this plunk У меня есть ngTable, который содержит список пользователей, сгруппированных по областям. Я привел пример от this ngTable grouping demo. Тем не менее, таблица отображается пустой и не отображает ни строк, ни группировки. Что случилось с этим кодом?ngTable grouping not working

HTML

<table ng-table="tableParams" class="table table-bordered table-hover"> 
     <colgroup> 
      <col width="50%" /> 
      <col width="30%" /> 
      <col width="20%" /> 
     </colgroup> 
     <tr class="ng-table-group" ng-repeat-start="group in $groups"> 
      <td colspan="3"> 
      <a href="" ng-click="group.$hideRows = !group.$hideRows"> 
       <span class="glyphicon" ng-class="{ 'glyphicon-chevron-right': group.$hideRows, 'glyphicon-chevron-down': !group.$hideRows }"></span> 
       <strong>{{ group.value }}</strong> 
      </a> 
      </td> 
     </tr> 
     <tr ng-repeat="u in data" ng-repeat-end> 
      <td title="'User ID'">{{ u.uid }}</td> 
      <td title="'Name'">{{ u.name }}</td> 
      <td title="'Area'" groupable="'area'">{{ u.area }}</td> 
     </tr> 
    </table> 

Javascript

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

app.controller('myCtl', function($scope,NgTableParams) { 

      $scope.data = [ 
      { uid: 'User 11', name: 'Name 11', area: 'Area 1'}, 
      { uid: 'User 12', name: 'Name 12', area: 'Area 1'}, 
      { uid: 'User 21', name: 'Name 21', area: 'Area 2'}, 
      { uid: 'User 22', name: 'Name 22', area: 'Area 2'} 
      ]; 

      $scope.tableParams = new NgTableParams({ 
       // initial grouping 
       group: "area" 
      },{ 
       dataset: $scope.data 
      }); 
}); 

ответ

1

Ваш код кажется прекрасно. Я только что сменил один скрипт и получил некоторые результаты на странице. Просто замените

<script src="https://cdnjs.cloudflare.com/ajax/libs/ng-table/0.8.3/ng-table.min.js"></script> 

с

<script src="https://unpkg.com/[email protected]/bundles/ng-table.min.js"></script> 

Это вариант, который я использую ежедневно.

+0

Также 'нг-шкура = 'отсутствовал – ps0604

+0

Пожалуйста, взгляните на это [plunk] (http://plnkr.co/edit/M8BcStInfSaSEaq6UVN7?p=preview), таблица не группируется правильно, все элементы находятся в обеих группах – ps0604

+0

@ ps0604 да, вы следует заменить ng-repeat = "u в данных" на ng-repeat = "u в group.data". Таким образом, вы не будете перебирать все элементы списка. – greenshade

2

Я знаю, что ответ @greenshade сделан. Но, как @greenshade, я проверил этот плункер, и я вижу, что вы использовали старую ссылку библиотеки ng-table. Если вы хотите работать в библиотеке CDNjs, то вы должны использовать последнюю версию URL сценария:

https://cdnjs.cloudflare.com/ajax/libs/ng-table/1.0.0/ng-table.min.js 

Script ЦСИ является: "группы $ hideRows"

<script src="https://cdnjs.cloudflare.com/ajax/libs/ng-table/1.0.0/ng-table.min.js"></script> 

Благодаря

+0

greenshade предложил использовать версию 2.0.2, и вы предложили использовать версию 1.0.0, я что-то упустил? – ps0604

+0

@ ps0604 Всегда используйте последнюю версию библиотеки. Я просто говорю вам, что если вы используете cdnjs, вам следует использовать библиотеку версий 1.0. Оба ответа, которые вы получаете, верны. Но способ использования библиотеки ng-model отличается. –

 Смежные вопросы

  • Нет связанных вопросов^_^