0

最新の ember を使用し、私の問題を示すこの JS Bin があります私は2つのリストを持っています。1 つは ArrayController の「コンテンツ」にバインドされ、もう 1 つは特定のレコードを除外する「filtered」と呼ばれるプロパティ関数にバインドされます。新しいレコードを追加すると (リストの上にある [新しい追加] リンクを使用)、新しいレコードがコンテンツに追加されていることがわかりますが、フィルタリングされたリストは更新されません。{{#each filtered}}ArrayController がリストに新しいレコードがあることを認識し、ブロックを再レンダリングするにはどうすればよいですか?

4

1 に答える 1

1

計算されたプロパティの依存キーfilteredが間違っています。使用する必要があります。これは、フィルタリングされたプロパティ自体ではなく、プロパティの変更に依存しているcontent.lengthためです。filteredcontent

filtered:function() {
    return this.get("content").reduce(function (arr, object, index) {
      if(object.get("id") != 2) {
        arr.pushObject(object);
      }
      return arr;
    }, Em.A());
  }.property("content.length")

更新された jsbin http://jsbin.com/okAKAnU/1/edit

于 2013-10-11T20:54:14.760 に答える