2017-02-16 12 views
0

私はEmberを初めて使い、Emberでデータをフィルタリングする最良の方法を見つけようとしています。私はそれがヘルパーまたはコンポーネントのいずれかを作成することであると思ったが、これらのソリューションを実装する試みは悲惨に失敗した。EmberJSフィルター返されたデータStoreから

今日このことについて多くのことを読んで、いくつかのオプションを試してみると、私の脳は痛くなり、私は結果に近づいていません。

今後のスポーツシーズンのスケジュールを作成しています。テンプレートは現在すべてのゲームをレンダリングしています。アイデアは、チーム名をクリックすると、そのチームのゲームだけが表示されます。表示されるデータはFirebase(EmberFireなど)に保存されています。

日付でフィルタリングする機能もいいですが、これは将来のRedの問題です。

私の質問の漠然としたことについて申し訳ありませんが、私はそれが何であるかを知っています。

ありがとうございました! 赤

答えて

0

フィルタリングするチームを指定するクエリパラメータを使用するように思えます。あなたControllerでは、モデルからフィルタリングされたリストを返す計算されたプロパティを作成し、その後queryParamsプロパティを指定して:

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; 
    } 

を次に、あなたのテンプレートでは、代わりにmodelを使用しての、filteredGamesを使用します。

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

希望に役立ちます。

+0

ありがとうスティーブ!あなたの提案は理にかなっています。私は今日後でそれを実行します:) Ember Guides for queryParamsセクションスティッキーパラームで問題を解決できるかもしれません。私は私のデータがそのキーでどのように保存されるかを変える必要があるかもしれないと思う。 –

関連する問題