2013-05-13 9 views
9

Nel seguente non angularfire pseudo-codice mi aspetto di avere Firebase generare una chiave per i nuovi dati che vengono spinti in.Qual è l'equivalente di firebaseRef.push() con angularfire?

var ref = Firebase(...); 
var newref = ref.push({"blah":"blah"}); 
var autoKey = newref.name(); 

cerco di fare la stessa cosa attraverso angularfire con un modello legato ma mi dà solo errori sull'oggetto che non ha un metodo push(), simile a this question. Ha funzionato quando il tipo di dati era un array.

Come si ottiene il buon comportamento che ho visto in Firebase regolare (non-angularFire) con chiavi automatiche per oggetti?

risposta

7

Se si desidera utilizzare un oggetto e disporre di tasti generati automaticamente, utilizzare il metodo add su un angularFireCollection. Ad esempio:

function ExampleController($scope, angularFireCollection) { 
    var url = 'https://angularFireExample.firebaseio-demo.com/'; 
    $scope.examples = angularFireCollection(url); 
    $scope.addExample = function(ex) { 
    $scope.examples.add(ex); 
    }; 
} 
+0

Ah, sembra promettente, ci proverò stasera. Esiste un riferimento API per angularFire diverso dal codice? –

+3

Per la cronaca, ogni elemento che finisce in '$ scope.examples' sopra ottiene i membri extra' $ ref', '$ id' e' $ index' aggiunti mentre vengono estratti da Firebase. Vedi la classe 'angularFireItem' definita in [angularFire.js] (https://github.com/firebase/angularFire/blob/gh-pages/angularFire.js). –

+0

'$ scope.examples' si sincronizzerà con i dati di Firebase? – vinesh

Problemi correlati