0

モデルオブジェクトの配列をビューで定義された新しい配列に渡す最良の方法は何ですか?

基本的に:コントローラーの関連付けを介して多くの人がいます:

App.MeetingsNewController = Ember.ObjectController.extend({
    needs: ['people'],
    init: function() {
        var people = this.get('controllers.people'); 
        people.set('content', App.Person.find());
    }
});

次に、そのコントローラーのテンプレート内でビューを定義しています。このビュー内で、コントローラーに設定されたすべての人を取得し、それらを配列に入れたいと思います。1 つが選択されたら、それを新しい配列に移動します。簡単ですが、これを行うためのプロセスを理解できません。

App.SearchField = Ember.View.extend({
    availablePeople: [],
    selectedPeople: [],
    init: function() {
        // What needs to go here to push objects from controller.people to availablePeople? 
    }
});

this.get('controller.people') と pushObjects を使用してさまざまなことを試しましたが、ビューのテンプレートでリストを反復処理できないようです:

{{#each view.availablePeople}}
    <li>
        {{ name }}
    </li>
{{/each}}

私は何が欠けていますか?どんな助けでも大歓迎です!

4

2 に答える 2

0

次のような計算されたプロパティを使用して、コントローラーでこれを解決しました(分離できればよかったのに残念です)。

availablePeople: function() {
    var people = App.Person.find();
    var selectedPeople = this.get('content.people'); 
    return people.filter(function(x) { return selectedPeople.indexOf(x) < 0 });
}.property('content.people.length')
于 2013-05-24T12:07:24.733 に答える