2017-02-16 6 views
0

Ich bin neu in Ember und versuche herauszufinden, wie man Daten am besten mit Ember filtert. Ich dachte, es wäre entweder ein Helfer oder eine Komponente, aber meine Versuche, diese Lösungen zu implementieren, sind kläglich gescheitert.EmberJS Filter Zurückgegebene Daten vom Speicher

Nachdem ich heute viel darüber gelesen habe und verschiedene Optionen ausprobiert habe, tut mir das Hirn weh und ich bin einem Ergebnis nicht näher gekommen.

Ich baue einen Zeitplan für eine bevorstehende Sport-Saison. Die Vorlage rendert derzeit alle Spiele. Die Idee ist, wenn Sie auf einen Teamnamen klicken, werden nur Spiele für dieses Team angezeigt. Die angezeigten Daten werden in Firebase (also EmberFire) gespeichert.

Die Fähigkeit, auch nach Datum zu filtern, wäre auch nett, aber ich denke, das ist ein Problem für zukünftige Red.

Entschuldigung für die Unbestimmtheit meiner Frage, ich weiß, was es ist, was ich tun will, ich weiß einfach nicht, wie ich dorthin komme.

Vielen Dank! Rot

Antwort

0

Es klingt also so, als ob Sie einen Abfrageparameter verwenden möchten, um das Team anzugeben, nach dem gefiltert werden soll. In Ihrem Controller, die queryParams Eigenschaft angeben und dann eine berechnete Eigenschaft erstellen, die die gefilterte Liste aus dem Modell zurück:

queryParams: ['selectedTeam'], 
selectedTeam: null, 
filteredGames: Ember.computed('selectedTeam', 'model', function() { 
    let selectedTeam= this.get('selectedTeam'); 
    let model= this.get('model'); 

    if (selectedTeam) { 
    return model.filterBy('team', selectedTeam) 
    } 
    else { 
    return model; 
    } 

Dann in Ihrer Vorlage, anstelle model zu verwenden, verwenden filteredGames:

{{#each filteredGames as |game|}} 
    ... render the {{game}} ... 
{{/each}} 

Hoffe, dass hilft.

+0

Danke Steve! Ihr Vorschlag macht einen guten Sinn, ich werde es später noch heute ausprobieren :) Die Ember Guides für den Bereich queryParams Sticky Params könnte das Problem lösen. Ich denke, dass ich möglicherweise ändern muss, wie meine Daten mit seinem Schlüssel gespeichert werden: Wertpaarungen tho. –

Verwandte Themen