3

Ember がオブジェクトのコレクションを繰り返し処理し、それらをページ (サイドバーのリンクのリストなど) に出力するとき、Ember は各要素のコンテキストを作成します。その項目がクリックされると、Ember はその要素をコンテキストとしてメソッドに渡します。

そのコンテキストの偽バージョンを自由に作成するにはどうすればよいですか? 基本的に、現在 onclick イベントからコンテキストを受け取っているメソッドを再利用したいと考えています。

4

1 に答える 1

0

質問を理解しているかどうかはよくわかりませんが、試してみます。あなたが達成しようとしていることは、コンテキストをまっすぐに設定するだけで実行でき、おそらくビューを無視する必要があると思います。

clientsArray
....
    loadProjects: function(view){
        this.set('currentClient', view.context);
    },

    _setProject: function(){
        console.log('loading projects');

        var context = this.get('currentClient');
        PM.projectsArray.set('content', []);
        PM.projectsArray.pushObjects(context.get('projects'));
    }.observes('currentClient')
....

次に、'addProject' メソッドで、'currentClient' (clientArray 内) を新しいコンテキスト ('project' オブジェクト) に設定します。オブザーバーはそれを拾い上げ、残りを処理します。変更の値を観察し、それに応じてコンテキストを更新できることは、ember の強みの 1 つです。多くの明示的な作業を行う必要がなくなります。これは、すべてのブートストラップ コードを自分で作成する必要がないようにするためのもので、フレームワークが作業を行います。偽のビューを作成すると、コードが複雑になるだけです。

于 2012-08-04T13:59:55.993 に答える