0

Ich benutze Firebase und Polymer um eine App zu erstellen, und ich habe eine Daten, die ich mit dem Firebase-Abfrage-Element bekommen habe. Ich möchte die Daten so umordnen, dass sie zuerst die neuen Daten anzeigt. Daher dachte ich, dass ich das Sortierattribut für das Schablonentag verwenden könnte, um es in absteigender Reihenfolge nach dem Schlüssel zu sortieren, aber es funktioniert nicht wie erwartet.Sortierung nach Schlüssel Desc in Polymerfire mit Firebase-Abfrage

 <firebase-query 
    id="questionQuery" 
    path="/questions" 
    limit-to-last="15" 
    data="{{questions}}"> 
</firebase-query> 

Und die Vorlage sieht aus wie dieser Methode:

 <template is="dom-repeat" items="[[questions]]" sort="_computeSort" as="question"><p>[[question.body]]</p></template> 

und in meinem Element Definition, ich habe dies:

_computeSort: function(a, b) { 
    console.log(a.__firebaseKey__); 
    if (a.__firebaseKey__ == b.__firebaseKey__) { 
     return 0; 
    } 
    return a.__firebaseKey__ > b.__firebaseKey__ ? -1 : 1; 
    }, 

Dies funktioniert nicht. Die Ausgabe des Logs an die Konsole ist nur ein Haufen Undefiniertes, also sollte das Problem da sein, aber wie kann ich auf den Schlüssel jeder Frage zugreifen?

Antwort

0

Okay, bekam ich eine Anser

$ key der Ausdruck ist, den Schlüssel von der Feuerbasis erzeugt zuzugreifen, so dass nur die Sortierfunktion, dies ändern:

_computeSort: function(a, b) { 
    if (a.$key == b.$key) { 
     return 0; 
    } 
    return a.$key > b.$key ? -1 : 1; 
    }, 

Ich hatte eigentlich die gerade kopiert Code von hier Polymer 1.0: Sorting dom-repeat und das ist, wie ich mit Code wie _firebasekey__ endete.

Verwandte Themen