在AngularJS中应用GroupBy过滤器查看

时间:2015-09-21 00:08:27

标签: angularjs

我正在开展我的第一个AngularJS项目,这是Adam Freeman的书" Pro AngularJS"的一个例子。我试图在我的视图中应用groupBy过滤器,但我似乎无法让它工作。以下是我的观点,您可以看到我只是想按名称分组:

<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>

我注入&#34; $ filter&#34;进入&#34; ordersCtrl&#34;控制器。当我这样做时,我得到&#34;未知提供者:groupByFilterProvider&lt; - groupByFilter&#34;。 &#34; ordersCtrl&#34;控制器在Angular模块&#34; sportsStoreAdmin&#34;中。我不明白为了让它正常工作需要什么。任何帮助表示赞赏。

谢谢,

皮特

2 个答案:

答案 0 :(得分:1)

正如其他人所说

groupBy现成可用,但不是select * from select count(*) from

请加入angular filter module

您可以参考this

答案 1 :(得分:0)

Varun / Moncef Hassein-Bey。 。谢谢你的回应。 。 。仍然缺少一些东西。 。这里有一些更多的细节。 。 。

所以我试图在控制器下面的div中应用groupBy过滤器&#34; ordersCtrl&#34;。 &#34; ordersCtrl&#34;控制器定义了一个名为&#34; sportsStoreAdmin&#34;这是其他地方的惯例 创建原创&#34; sportsStoreAdmin&#34;模块看起来像这样:

angular.module(&#34; sportsStoreAdmin&#34;,[&#34; ngRoute&#34;,&#34; ngResource&#34;])

在原版&#34; sportsStoreAdmin&#34;我在head部分的脚本标记中引用angular-filters.min.js。

当我这样做时,我仍然得到&#34;未知提供者:groupByFilterProvider&lt; - groupByFilter&#34;

显然,我在这里仍然遗漏了一些东西。

皮特