更新特定嵌套 ngRepeat 的 limitTo 值

Updating the limitTo value on a specific nested ngRepeat

我是 AngularJS 的新手,必须开发一个具有嵌套 ngRepeats 部分的应用程序,如下所示。

<div class="title-bar" ng-repeat="orderType in someObj.orderTypes">
    <div class="inner-panel" ng-repeat="status in orderType.statuses">
        <p>{{status.Name}}</p>
        <div class="order-list" ng-repeat="order in status.Orders | limitTo:orderFilterLimit">
            <p>{{order.Stuff}}</p>
        </div>
        <button ng-show="(status.Orders.length > orderFilterLimit)" ng-click="loadMoreOrdersToList()">Load More</button>
    </div>
</div>

status.Orders 列表有时可能会很大,所以我限制了它。当用户想要查看该特定部分(由 status 枚举)的更多数据时,我将 3 添加到 orderFilterLimit。问题是当我这样做时,它会向 .inner-pannel 元素中的每个 .order-list 添加 3。有没有一种方法可以根据它附加到的元素的 id 或 class 更改 orderFilerLimit 变量?

对于上下文,这是 loadMoreOrdersToList() 正在做的事情的超级简单片段。 https://jsbin.com/vapucixesa/1/edit?js

无需在控制器中声明 orderFilterLimit,您应该在 ng-repeat 本身中包含 scope 变量,以便它的 ng-repeat 元素将具有 [=11= 的单独副本] 因为 ng-repeat 在每次迭代时创建一个子作用域。

标记

<div class="title-bar" ng-repeat="orderType in someObj.orderTypes" ng-init="orderFilterLimit = 3">
    <div class="inner-panel" ng-repeat="status in orderType.statuses">
        <p>{{status.Name}}</p>
        <div class="order-list" ng-repeat="order in status.Orders | limitTo:orderFilterLimit">
            <p>{{order.Stuff}}</p>
        </div>
        <button ng-show="(status.Orders.length > orderFilterLimit)" ng-click="orderFilterLimit = orderFilterLimit + 3">Load More</button>
    </div>
</div>