添加角度ng-repeat列表的结束项目

时间:2015-07-09 18:28:02

标签: angularjs ionic-framework ng-repeat pubnub

我有一个以10个项目开头的ng-repeat列表。 我想在列表末尾添加新项目(下) 如果我当前运行该功能,它会将项目添加到我的列表顶部。

我知道您可以使用.push()和.unshift()添加项目,但这不适用于我使用的代码。

这是我的代码(我使用Pubnub的代码片段来获取历史记录项):

$scope.messages = [];

$scope.loadMore = function() {

    var timeToken = $('.lastMessage').attr('timetoken');
    console.log(timeToken);

    // Populate message history
    PubNub.ngHistory({
        start: timeToken,
        channel: $scope.channel,
        count: 5,
    });

};

HTML:

<ion-item ng-repeat="message in messages track by $index">

1 个答案:

答案 0 :(得分:2)

您可以使用带有ng-repeat的orderby。看起来每个元素都有一个时间值,您可以使用它来排序列表。

<tr ng-repeat="item in history | orderBy:'start'">

如果你在元素中有一个id,你也可以使用&#34;跟踪&#34;所以如果你有一个id字段。这允许角度显示重复。然而,这似乎不是你的问题。 来自他们的维基:

  

默认情况下,ngRepeat不允许在数组中使用重复项。这是因为当存在重复项时,不可能在集合项和DOM元素之间保持一对一的映射。

如果您确实需要重复重复项目,则可以使用跟踪表达式替换默认跟踪行为。

<tr ng-repeat="item in history track by $id">