люди. Я впервые задаю такой вопрос, поэтому надеюсь, что смогу предоставить как можно больше информации, но если что-то сбивает с толку, пожалуйста, дайте мне знать, и я постараюсь уточнить это.
Я использую Ioni c Creator для создания списка задач, используя Firebase, и сейчас я пытаюсь реализовать функцию переупорядочения. Я смог переупорядочить элементы без проблем, но новый переупорядоченный список, кажется, никогда не сохраняет новый порядок или сохраняется. После анализа я понимаю, что мне нужно найти способ, чтобы переупорядоченные элементы сохранялись в хранилище, но я не совсем уверен, как это сделать.
Кроме того, после некоторых исследований, как здесь, так и в другом месте, я думаю, мне нужно сохранить позицию индекса элемента в Firebase, а затем я могу отсортировать его по этому индексу? Я не совсем уверен, как это сделать, даже посмотрев здесь, поэтому любое понимание поможет.
Я опубликую нижеприведенный код и надеюсь, что это поможет обеспечить некоторое понимание. Опять же, я впервые задаю такой вопрос, поэтому, если я упускаю что-то очевидное, я был бы признателен за отзыв.
Если это также может помочь, я следовал этим инструкциям для справки при создании своего приложение, если это может помочь с предоставлением какой-либо понимание вообще.
https://www.youtube.com/watch?v=IrwrZBBOiP8 https://www.youtube.com/watch?v=IrwrZBBOiP8
Главная домашняя страница:
function ($scope, $stateParams, Todos, $ionicModal) {
$scope.showReorder = false;
$scope.toggle = function(v){
$scope[v] = !$scope[v];
}
$scope.reorder = function(item, fromIndex, toIndex){
$scope.items.splice(fromIndex, 1);
$scope.items.splice(toIndex, 0, item);
}
$scope.items = Todos.items;
$scope.data = {
'title': ''
}
$scope.modal = $ionicModal.fromTemplate("<ion-modal-view>" +
"<ion-header-bar class='bar-balanced'>" +
"<h1 class='title'>Add a Movie Title</h1>" +
'<button class="button button-clear" ng-click="closeModal()">Close</button>' +
"</ion-header-bar>" +
"<ion-content class='padding'>" +
"<label class='item item-input'><input type='text' placeholder='Title' ng-model='data.title' /></label>" +
"<button ng-click='addItem()' class='button button-balanced button-block'>Submit</button>" +
"</ion-content>" + "</ion-modal-view>", {
scope: $scope,
animation: 'slide-in-up'
})
$scope.showModal = function(){
$scope.modal.show();
}
$scope.closeModal = function(){
$scope.data.title = '';
$scope.modal.hide();
}
$scope.addItem = function(){
Todos.addItem($scope.data.title);
$scope.closeModal();
} }
Задачи. js
angular.module('todos', ['firebase'])
.run(function(){
var config = {
apiKey: (removed for posting purposes)
authDomain: (removed for posting purposes)
databaseURL: (removed for posting purposes)
storageBucket: (removed for posting purposes)
};
firebase.initializeApp(config);
})
.service('Todos', ['$firebaseArray', function($firebaseArray){
var ref = firebase.database().ref().child('todos');
var items = $firebaseArray(ref);
var todos = {
'items': items,
addItem: function(title){
items.$add({
'title': title,
'finished': false
});
},
setFinished: function(item, newV){
item.finished = newV;
items.$save(item);
}
}
return todos;
}]);