2016-04-28 7 views
0

I ein Array von Objekten in Feuerbasis an Speicherung und Verwendung der push Methode von dem Server, wie unten zu sehen:Ember Feuer nicht richtig zu synchronisieren, wenn ein Array clearing

firebaseRef.child('colors').push(body, (error) => { 
    if(error) { 
     res.send(500, error); 
    } 
    else { 
     res.send(200); 
    } 

    return next(); 
    }); 

Und auf dem Client Ich verwende:

model() { 
    return this.store.findAll('color'); 
} 

ich habe einen Betrieb, wo ich das Array gelöscht werden soll, und ich bin derzeit set([]) wie unten zu sehen:

firebaseRef.child('colors').set([], (error) => { ... }); 

Wenn ich die Daten aus dem Verwaltungsportal anschaue, kann ich den Farbenknoten sehen und alle Elemente werden entfernt; Der Ember-Client zeigt jedoch immer noch alle Elemente im Array an. Selbst nachdem ich ein Element zum Array hinzugefügt habe, um es zu einer Länge 1 zu machen, würde es immer noch 24 anzeigen, wenn es vorher 23 hatte. Erst nachdem ich den Client vollständig aktualisiert habe, erkennt er die Länge des Arrays richtig.

Wie setze ich das Array so zurück, dass der Client synchronisiert bleibt, ohne jedes Element einzeln entfernen zu müssen?

Antwort

0

Sie löschen die Daten direkt vom Firebase und vermeiden dabei den Glutendatenspeicher. Um dies richtig zu machen, müssen Sie den "Ember Way" tun, indem Sie ihn lokal aus dem Datenspeicher löschen, was dann dieselben Änderungen für Sie in Firebase überträgt.

Finden Sie heraus, wie Sie die Farbmodelle aus den Glutendaten löschen, und Sie sollten die erwarteten Ergebnisse erhalten

Verwandte Themen