javascript - AngularJS ng-repeat-start 与 limitTo 不起作用

标签 javascript angularjs angularjs-ng-repeat

我有一个包含多个对象的列表,一开始我只想加载其中的一些。我查看了ng-repeat语句,但我需要有这样的结构:

<table class="table table-hover table-hidden">
       <thead>
           <tr>
           ...
           </tr>
       </thead>

       <tbody>
          <tr ng-repeat-start="object in objects | filter:query | orderBy:predicate:reverse"  ng-init="isCollapsed=true">   
          ...
         </tr>
         <tr ng-repeat-end class="more">
          ...
         </tr>
      </tbody>
   </table>

我尝试在 ng-repeat-start 中应用语句 limitTo,如下所示:

<tr ng-repeat-start="object in objects | filter:query | orderBy:predicate:reverse| limitTo: limit"  ng-init="isCollapsed=true"> 

在 Controller 上我写道:

 $scope.limit = 10;

    $scope.incrementLimit = function () {
        $scope.limit += 10;
    };

通过点击超链接来调用函数incrementLimit

 <a href ng-click="incrementLimit()">more</a>

页面加载时,对象列表被实例化并填充(包含所有元素)。

按照我一开始的方法,加载并正确显示前 10 个元素,当我单击“更多”时,变量 $scope.limit 会增加,但页面上没有任何反应。谁能解释一下为什么?

最佳答案

limitTong-repeat-start

内工作正常

看看这个

var app = angular.module('myApp', []);
app.controller('Controller', function ($scope) {
    $scope.limit = 1;

    $scope.incrementLimit = function () {
        $scope.limit += 1;
    };
    
    $scope.data = [{
        title: 'Foo',
        text: 'Lorem'
    }, {
        title: 'Bar',
        text: 'Iste'
    }, {
        title: 'Jon',
        text: 'Fat'
    }, {
        title: 'Los',
        text: 'Ice'
    }]
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.21/angular.min.js"></script>
<div ng-app='myApp' ng-controller="Controller">
    <table border="2" class="table table-hover table-hidden">
        <thead>
            <tr>...</tr>
        </thead>
        <tbody>
            <tr ng-repeat-start="object in data | filter:query | orderBy:predicate:reverse| limitTo: limit" ng-init="isCollapsed=true" ng-bind="object.title">...</tr>
            <tr ng-repeat-end class="more">...</tr>
        </tbody>
    </table>
    <a href="#" ng-click="incrementLimit()">more</a>
</div>

关于javascript - AngularJS ng-repeat-start 与 limitTo 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30027804/

相关文章:

javascript - 如何全局加载 quasar 框架

javascript - 抓取整个网页 + css + javascript

javascript - Angular JS 在加载 href 资源之前触发 ng-click

javascript - 发送带有正文的 Angular $http.delete

angularjs - 如何使用 Angular.js 实现分页/表格布局?

javascript - 在 html5 视频播放按钮上添加事件

javascript - 如果使用 Bootstrap ,如何在单击按钮时将一个选项卡切换到另一个选项卡?

javascript - 将函数作为回调传递时的原型(prototype)问题

angularjs - 带有 ng-repeat 和单选按钮的 Angular JS 表

javascript - 替换 ng-repeat 中的项目的空字符串