2015-09-21 4 views
0

Я работаю над своим первым проектом AngularJS, примером которого является книга Адама Фримана «Pro AngularJS». Я пытаюсь применить фильтр groupBy на мой взгляд, и я просто не могу заставить его работать. Вот мой взгляд, где вы можете видеть, что я просто пытаюсь группы по имени:Применение фильтра GroupBy в AngularJS View

<div ng-controller="ordersCtrl"> 

<table class="table table-striped table-bordered"> 
    <tr><th>Name</th><th>City</th><th>Value</th><th></th></tr> 
    <tr ng-repeat="order in orders"> 
     <td>{{order.name}}</td> 
     <td>{{order.city}}</td> 
     <td>{{calcTotal(order) | currency}}</td> 
     <td> 
      <button ng-click="selectOrder(order)" class="btn btn-xs btn-primary"> 
       Details 
      </button> 
     </td> 
    </tr> 
</table> 

<div ng-show="selectedOrder"> 
    <h3>Order Details</h3> 

    <table class="table table-striped table-bordered"> 
     <tr><th>Name</th><th>Count</th><th>Price</th></tr> 
     <tr ng-repeat="item in selectedOrder.products | groupBy:['name']"> 
      <td>{{item.name}}</td> 
      <td>{{item.count}}</td> 
      <td>{{item.price | currency}} </td> 
     </tr> 
    </table> 
</div> 

Я впрыскивается «$ фильтр» в контроллер «ordersCtrl». Когда я это делаю, я получаю «Неизвестный поставщик: groupByFilterProvider < - groupByFilter». Контроллер «ordersCtrl» находится в Угловом модуле «sportsStoreAdmin». Я не понимаю, что требуется для правильной работы. Любая помощь приветствуется.

Спасибо,

Пит

+0

groupBy не является встроенным фильтром, вы определяете этот фильтр? –

+0

вы можете использовать этот модуль: https://github.com/a8m/angular-filter – o4ohel

+0

вы можете создать скрипку для этого? – Varun

ответ

1

Как уже отмечалось другими

orderBy доступен из коробки, но не groupBy.

Пожалуйста, включите angular filter module

Вы можете обратиться this.

0

Varun/Moncef Hassein-Bey. , спасибо за ответ. , , все еще чего-то не хватает. , , Вот еще несколько деталей. , ,

Так что я пытаюсь применить фильтр groupBy в div, который находится под контроллером «ordersCtrl». Контроллеру «ordersCtrl» определен модуль под названием «sportsStoreAdmin», который определен в другом месте.
Создание оригинального модуля "sportsStoreAdmin" выглядит следующим образом:

angular.module ("sportsStoreAdmin", [ "ngRoute", "ngResource"])

В оригинале "sportsStoreAdmin" Я ссылки angular-filters.min.js в теге скрипта в разделе главы.

Когда я делаю это я все еще получаю «Неизвестный поставщик: groupByFilterProvider < - groupByFilter»

Таким образом, очевидно, что я до сих пор не хватает что-то здесь.

Pete

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