0
我有一個MEAN應用程序正在工作。我正在使用angular ui sortable來管理列表。
我想在頁面刷新時保持列表的順序。以下函數爲數組中的每個present
對象提交$http.post
請求。
它工作正常,如果我用按鈕觸發它。但我希望每當用戶更新列表的順序時都會觸發它。
$scope.sortPresents = function() {
for (var j=0; j < $scope.presents.length; j++) {
$scope.presentClientToDB(j);
}
};
$scope.presentClientToDB = function(a) {
var tmpId = $scope.presents[a]._id;
$http.post('/api/presents/' + tmpId, {
title: $scope.presents[a].title,
notes: $scope.presents[a].notes,
link: $scope.presents[a].link,
index: $scope.presents[a].index
})
.success(function(data) {
console.log('great success posting data!');
})
.error(function(data) {
console.log('error: ' + data);
});
};
在我view
,我在更新列表中調用這個sortPresents()
功能:
<ul ui-sortable="{update: sortPresents()}" ng-model="presents" class="list-group">
...
</ul>
結冰我的應用程序,並導致我的終端POST
請求的重複洪流(在快結束時,使用morgan)。
據我所知,當點擊並拖動一個列表項時,可重複調用UI排序的函數update
。所以我試着把這個函數作爲stop
的方法,沒有用。
有關如何解決或更好地實現此目的的想法?
你在做什麼?發佈到/ api/presents /與排序列表有什麼關係?爲什麼要爲列表中的每個項目執行此操作?你是否隨時更新每個禮物的單獨api調用? – 2014-12-03 20:58:49
當一個項目在列表中移動時,其「索引」會隨着列表中所有後續項目的索引一起更改。我需要更新受影響的'present'的'index'屬性。實際上,我沒有對任何東西進行排序,所以這是一個命名不佳的函數。列表中的每個列表在服務器端都有一個對應的模型,並通過獨特的API調用進行更新。 – 2014-12-03 21:22:16
'Sort'事件被重複調用。 'Update'和'Stop'被調用一次。 – 2014-12-04 02:00:44