Angularfire分页

时间:2014-08-04 20:42:02

标签: angularjs pagination firebase angularfire

我目前正在使用Firebase和AngularJS为自己构建一个小型个人博客。

现在,我不想在同一页面上显示我的所有帖子。如果我每天都开始发帖,它很快就会变慢。我的目标是拥有一个' prev'和下一个'每个博客帖子底部的按钮供用户浏览。

目前我这样做,html:

<main class="content links-dark" data-ng-controller="postsCtrl">

        <article ng-repeat="(id, post) in posts track by post.$id | orderByPriority | orderBy:'-$id' ">

            <footer>
                <small>{{post.time}}</small> - Less than 1 minute read
            </footer>

            <header class="headline">
                <h1>{{post.title}}</h1>
            </header>

            <section>
                <p ng-bind-html="post.body">
                </p>

            </section>

        </article>

        <nav class="articles links-dark">
            <a href="#">next post</a>
        </nav>

    </main>

我的js文件:

var blogApp = angular.module('blogApp', ['firebase', 'ngSanitize']);

blogApp.controller('postsCtrl', ['$scope', '$firebase', function($scope, $firebase){

var ref = new Firebase('https://teemublog.firebaseio.com/posts/');

var count = 0, pageSize = 1;
$scope.posts = $firebase(ref);


$scope.nextPage = function loadNextPage() {

    var oldPosts = $scope.posts;
    count += pageSize;

    $scope.posts = ref.startAt().limit(count);

    if (oldPosts) {
        oldPosts.$off();
    }
}

$scope.nextPage();

}]);

我从其他帖子中抓住了这个想法。我还没有尝试将nextPage放在锚中,因为这根本不起作用。调试器说:

  

错误:[ngRepeat:dupes]不允许在转发器中重复。使用   &#39;跟踪&#39;表达式以指定唯一键。中继器:(id,post)in   帖子跟踪帖子。$ id | orderByPriority | orderBy:&#39; - $ id&#39;,复制   关键:[]

我已经尝试过摆弄ng-repeat(删除过滤器等),但没有成功。

我的问题: 这是处理Firebase,AngularJS和AngularFire时处理可能的分页的最佳方式吗?有更简单的方法吗?

非常感谢, Tetsii

0 个答案:

没有答案