2016-03-27 14 views
1

Mit Angularfire erstelle ich todoList. Aber ich habe ein Problem beim Aktualisieren von Elementen. Ich versuche diesen CodeArtikel auf TodoList aktualisieren Angularfire

var obj = $firebaseObject(ref); 
obj.name = $scope.todo.title ; 
obj.$save() 
    .then(function(ref) { 
    ref.key() === obj.$id; // true 
    }, function(error) { 
    console.log("Error:", error); 
    }); 

Wie kann ich nur das ausgewählte Element aktualisieren.

Antwort

1

Wie wäre es damit?

var obj = $firebaseObject(ref); 
obj.$loaded().then(function() { 
    obj.name = $scope.todo.title; 
    obj.$save() 
     .then(function (ref) { 
      ref.key() === obj.$id; // true 
     }, function (error) { 
      console.log("Error:", error); 
     }); 
}); 

Sie versuchen, es zu speichern, bevor es geladen wurde.

1

Beachten Sie, dass Sie können auch einfach die direkt TODO Artikel Titel aktualisieren, ohne $firebaseObject() zu gehen durch:

ref.update({ title: $scope.todo.title }); 

Die $firebaseObject() und $firebaseArray() Dienste sind für die Bindung der zugrunde liegenden Daten Angular Ansichten, aber ein Update durchführen Zu den Daten können Sie ebenso einfach den direkteren Ansatz nehmen. Da AngularFire auf dem Firebase JavaScript SDK basiert, arbeiten sie perfekt zusammen.

+0

danke für Sir, aber ich muss angularfire verwenden, weil es ein Teil eines Mini-Projekts ist, das ich nur angularfire verwenden muss. Mein Problem ist, dass ich nicht den besten Weg finde, den ausgewählten Gegenstand zu aktualisieren. –

+0

Da AngularFire auf dem Firebase JavaScript SDK basiert, können Sie AngularFire nicht verwenden, ohne das Firebase JavaScript SDK zu verwenden. –

Verwandte Themen