我有一个以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">
答案 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">