【问题标题】:AngularJS limitTo by last 2 recordsAngularJS 限制到最后 2 条记录
【发布时间】:2012-08-13 22:18:44
【问题描述】:

AngularJS filterorderlimitTo 的组合是否可以模拟 UnderscoreJS 中的 _.last

【问题讨论】:

    标签: underscore.js angularjs


    【解决方案1】:

    Gloopy 的回答是正确的,但是只是一个注释……如果你想使用下划线,你可以:

    myApp.run(function($rootScope) {
      $rootScope._ = _;
    });
    
    <div ng-repeat="item in _.last(items)">
    

    【讨论】:

      【解决方案2】:

      如果我正确理解您的问题,我认为this fiddle 会这样做。

      对于这个数据:

      $scope.items = [{sort: 1, name: 'First'}, 
                      {sort: 2, name: 'Second'}, 
                      {sort: 3, name: 'Third'}, 
                      {sort: 4, name:'Last'}];
      

      如果您不想实际对数组进行排序,而只是按原样获取数组的最后两项(如下划线的最后一项),您可以尝试负限制(这将显示第三,最后):

      <div ng-repeat="item in items | limitTo:-2">
      

      还请注意,您可以像此示例一样将过滤器链接在一起,对数据进行反向排序并获取 2 个项目(这将显示 Last、Third):

      <div ng-repeat="item in items | orderBy:'sort':true | limitTo:2">
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多