2017-09-17 11 views
0

Emberの新機能です。私が作成したのはEmberのタスクマネージャーアプリケーションです。私は、次のされたタスクのためのモデルを持っている:コントローラー内のEmberファイアーフィルターデータ

import DS from 'ember-data'; 

export default DS.Model.extend({ 
    title: DS.attr('string'), 
    location: DS.attr('string'), 
    date: DS.attr('date'), 
    archive: DS.attr('boolean'), 
}); 

私もそれがタスクリストページでは、このモデルのためにすべてのタスクを表示するようになってきました。しかし、私は現在、アーカイブが真でないタスクだけをフィルタリングするという問題を抱えています。私は、アーカイブが偽に等しいすべてのタスクをフィルタリングするためにこれが必要しかし、これは私の仕事

model: function() {  
     return this.store.findAll('task'); 
    } 

て引っ張るために持っている私のタスクリストのルートで

。私はこれをここに追加するか、コントローラに追加します。私は、リストに新しい項目を追加するときにその表示をフィルタリングされたリストは、しかし、それはdoesntのため、作業の

filteredModel: Ember.computed('model', function(){ 
     let model = this.get('model'); 

     return model.filter(function(item){ 
      return item.data.archive == false; 
     }); 

    }), 

この種:

私は自分のコントローラにこれを追加しました更新日新しい項目でリストを更新します。

答えて

1

私はコントローラにこれを追加し、モデルとしてnotArchivedTaskを組み込むこと私の各ループを更新し、

notArchivedTask: Ember.computed.filterBy('model','archive',false) 
+0

フィルタリングタスクリストが返されるコントローラで計算されたプロパティを導入しかし、データなしでビューを表示すべて – jsg

+0

更新されたコードでは、従属キー 'model。[]'をインクルードする必要があります。これにより、追加/削除のたびに再計算されます。 – kumkanillam

+0

あなたは答えでデモンストレーションできるでしょうか – jsg

関連する問題