我有一個應用程序獲取數據集合(即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