当前位置: 首页 > 面试题库 >

使用ng-repeat在列表上分页

萧奇
2023-03-14
问题内容

我正在尝试将页面添加到我的列表中。我遵循了有关智能手机的AngularJS教程,我试图仅显示一定数量的对象。这是我的html文件:

  <div class='container-fluid'>
    <div class='row-fluid'>
        <div class='span2'>
            Search: <input ng-model='searchBar'>
            Sort by: 
            <select ng-model='orderProp'>
                <option value='name'>Alphabetical</option>
                <option value='age'>Newest</option>
            </select>
            You selected the phones to be ordered by: {{orderProp}}
        </div>

        <div class='span10'>
          <select ng-model='limit'>
            <option value='5'>Show 5 per page</option>
            <option value='10'>Show 10 per page</option>
            <option value='15'>Show 15 per page</option>
            <option value='20'>Show 20 per page</option>
          </select>
          <ul class='phones'>
            <li class='thumbnail' ng-repeat='phone in phones | filter:searchBar | orderBy:orderProp | limitTo:limit'>
                <a href='#/phones/{{phone.id}}' class='thumb'><img ng-src='{{phone.imageUrl}}'></a>
                <a href='#/phones/{{phone.id}}'>{{phone.name}}</a>
                <p>{{phone.snippet}}</p>
            </li>
          </ul>
        </div>
    </div>
  </div>

我添加了带有某些值的select标记,以限制将要显示的项目数。我现在想要的是添加分页以显示下一个5、10等。

我有一个与此相关的控制器:

function PhoneListCtrl($scope, Phone){
    $scope.phones = Phone.query();
    $scope.orderProp = 'age';
    $scope.limit = 5;
}

而且我还有一个模块,以便从json文件中检索数据。

angular.module('phonecatServices', ['ngResource']).
    factory('Phone', function($resource){
        return $resource('phones/:phoneId.json', {}, {
            query: {method: 'GET', params:{phoneId:'phones'}, isArray:true}
        });
    });

问题答案:

如果您没有太多数据,则可以通过将所有数据存储在浏览器中并过滤在特定时间可见的内容来进行分页。

这是一个简单的分页示例:http :
//jsfiddle.net/2ZzZB/56/

该示例在angular.js github
Wiki上的小提琴列表中,应该会有所帮助:https : //github.com/angular/angular.js/wiki/JsFiddle-
Examples

编辑:http :
//jsfiddle.net/2ZzZB/16/ 到
http://jsfiddle.net/2ZzZB/56/(如果有45个结果,则不会显示“
1 / 4.5”)



 类似资料:
  • 问题内容: 我正在使用AngularJS,并且假设它可以工作(不起作用),我想获得的效果将类似于它将产生的效果。 视图 控制者 我意识到该代码将无法使用,因为它不可用,因为它将仅可用于每一行内的对象。该代码是为了让我了解正在尝试做的事情:即。我希望能够使用其类也基于条件的表行来创建,该条件取决于对行本身的范围功能的访问。。我意识到我 可以 在列上添加ng- class,但这很无聊。有人有更好的主意

  • 问题内容: 我正在开发一个页面,我需要在其中显示一些框(使用),其中包含频道信息以及显示位置(城市)。 我面临的问题是当我重复第二遍时: 这应该获得第一个ng-repeat的$ index值,并使用显示频道的位置创建一个新数组。它确实做到了。但是,当我使用此数组应用第二个ng- repeat时,它无法正常工作。 说我的html看起来像这样(PS:我需要使用索引值而不是因为我将这些框放到列中) JS

  • 问题内容: 我正在尝试将模型中的数据插入模板,但是我想每7次重复添加一个新的表行。使用基于strign的模板,我可以使用迭代索引和模来相当容易地做到这一点,但是我无法弄清楚如何使用angular的DOM模板来做到这一点。 这是HTML: 而javascript类似于: 您可以在JSFiddle中查看以下代码:http : //jsfiddle.net/3zhbB/2/ 问题答案: 请与天数组的数组

  • 问题内容: 我对angular有点陌生,我的json和ng-repeats遇到了问题。我有一个“模块”列表,然后是其中的“周”列表: 我的最终输出是一张表,我可以让模块重复,但是要让几周循环,我很难理解自己在做什么。这是我的模板: 这样将输出2个表,并带有正确的标题和描述,但是我似乎无法正确显示几周。请注意,某些“模块”有一个以上的“星期”。我不确定错误是否在模板或json中。 谢谢你的帮助。小号

  • 问题内容: 我正在尝试使用Angular应用程序保持分页。我无法找到执行此操作的正确方法。 的HTML 控制者 我能够看到分页栏,但是没有执行任何操作,即使将total-items设置为10,也将呈现整个表数据。 uib分页的工作原理以及数据(在这种情况下)如何与分页相关联。 问题答案: 您缺少的部分是必须具有从整个数组中获取当前页面数据的功能。我添加了一个函数来处理此问题。 您可以在分叉的拨蓬中

  • 问题内容: 我正在尝试将ng-repeat与字典样式语法一起使用,并对键值应用顺序。 看来OrderBy无法正常工作 此处的示例 http://jsfiddle.net/mhXuW/ 问题答案: orderBy的参数必须与对象数组中的属性名称匹配。 您的数据需要看起来像这样: 然后这样的过滤器将起作用: 小提琴。 请注意,orderBy适用于整个数组(在上面的示例代码中),并且它返回一个排序后的数