我正在尝试使用ui-sortable对列表进行排序,然后使用angularfire将新列表顺序保存到firebase,以便在刷新时保持正确的顺序。可以实现吗?
以下是相关代码:
// HTML
<div ui-sortable="sortableOptions" ng-model="andreyTasks">
<div ng-repeat="task in andreyTasks"></div>
</div>
// controller
$scope.sortableOptions = {
axis: 'y',
stop: function( event, ui ) {
//save the new sort order
}
};
答案 0 :(得分:1)
我一起破解了一些有效的东西 - 不是很优雅。
所以,如果我有一个待办事项列表(firebaseArray)..添加内容如下:
$scope.todos.$add({
simpleDesc : desc,
list: []
,
toggle:false,
optionMenu:false,
taskCount:0,
doneCount:0,
priority: -1
})
然后,在我的可选择的选项中,我有:
$scope.sortableOptions = {
stop: function(event, ui) {
$scope.todos.forEach(function(todo){
todo.priority = $scope.todos.indexOf(todo);
$scope.todos.$save(todo);
});
}
}
相关的前端组件如下所示:
<div class="row" ng-model = "todos" ui-sortable="sortableOptions" >
<div class="input-group" ng-repeat = "todo in todos |orderBy: 'priority' " > .....
答案 1 :(得分:0)
根据ui-sortable's README中提到的优秀代码示例,在firebase/angularfire#687中添加了firebase ui-sortable集成示例。