我有一个应用程序获取数据集合(即400个对象)并将其存储在数组中。在我看来,我创建了一种无限滚动,基本上当页面加载时,它插入5条记录。然后我在底部有一个标记为的更多的按钮,该按钮将转到数据阵列并对指令中正在使用的数组进行切片。NgRepeat没有从更新的数组中更新
起初它开始工作,但不是失败。该函数正在被解雇,但ngRepeat的列表未更新。
我的控制器的例子是:
function ActivityController($uibModal,$http,$q, UserService) {
var vm = this;
vm.activity = [];
vm.activityData = [];
vm.maxItems = 5;
vm.getMoreData = getMoreData;
function getMoreData(){
vm.activityData = vm.activity.slice(0, vm.activityData.length + 5);
}
UserService.getUserActivity()
.then(function (response) {
vm.activity = response.data;
vm.activityData = vm.activity.slice(0, 5);
});
}
查看:
<ul class="list-group">
<li ng-repeat="activity in activityCtrl.activityData | orderBy: 'date':false " class="list-group-item">
<p class="nm">
<i class="" aria-hidden="true"></i>
<strong>@{{ activity.user }}</strong> @{{ activity.operation }} @{{ activity.type }} @{{ activity.name }} no Gestor</p>
<small class="text-muted">@{{ activity.diff}}</small>
</li>
</ul>
<button ng-click="activityCtrl.getMoreData()">more</button>
什么来,如果你'的console.log(vm.activityData)'在'getMoreData结束()'。 '范围'是否会更新,但更改不反映在视图中? – Korte
也许如果你做了一个例子(比如[this plunker](http://plnkr.co/edit/UrFv6OjaXwj33xoY578l?p=preview)),这将有助于说明问题 –
你能分享一下你处理的数据吗?我创建了[小提琴](https://jsfiddle.net/eebrjno4/),但我无法重现该问题。显然'orderBy'过滤器有问题。 – Korte