2017-01-31 4 views
0

Ich habe ein Modell mit Aufgaben, und ich möchte Daten gefiltert nach Status und Ergebnis in verschiedenen Listen anzeigen.Ember.js. Gefiltertes Modell

so habe ich eine Konstruktion mit funktioniert nicht wie ich will.

tasks: Ember.computed(function(){ 
     var modelTasks = this.get('store').findAll('task'); 

     return { 
      todo: modelTasks.filterBy('status', 'todo'), 
      inProgress: modelTasks.filterBy('status', 'inprogress'), 
      done: modelTasks.filterBy('status', 'done') 
     }; 
    }), 

Ich bin neu, also bitte seien Sie tolerant.

Antwort

1

Warum benötigen Sie tasks berechnete Eigenschaft ?. findAll gibt Versprechen, also ist Ihr Code nicht korrekt. Async berechnete Eigenschaften wenig schwierig - lesen Sie this ignite article für weitere Informationen.

ich sagen würde, Datenabruf auf der Strecke Ebene passieren soll, so js Datei model Haken entsprechende Route können Sie,

export default Ember.Route.extend({ 
    model() { 
     return this.get('store').findAll('task').then((result) => { 
      return { 
       todo: result.filterBy('status', 'todo'), 
       inProgress: result.filterBy('status', 'inprogress'), 
       done: result.filterBy('status', 'done') 
      }; 
     }); 
    } 
}); 

innerhalb entsprechender hbs-Datei schreiben, können Sie darauf zugreifen wie model.todo

Verwandte Themen