0

私の残り火ビューは、他のDOM要素のコンテナーです。含まれているDOM要素のいくつかのイベントを個別に処理することに興味があります。たとえば、backbone.jsのビューでは、次のように処理できます。

events: {
   'click #some_button': 'handle_button_click',
   'click #some_anchor': 'handle_anchor_click'
}

emberjsの観点から同様のことを行う方法は?イベントの処理に関心のあるDOM要素ごとに独立したビューを作成する必要がありますか?

4

2 に答える 2

1

すべての要素のビューを作成する必要はありません。

ヘルパーを使用するだけ{{action}}で、コントローラーまたはルーターでこれらのイベントをキャッチできます。

詳細はこちら:http ://emberjs.com/guides/templates/actions/

于 2013-03-07T09:28:54.187 に答える
0

In EmberJS, you dont need to bind events to functions. Ember provides default bindings to DOM events. I would suggest you to go through EmberJS guide on events to understand the bindings.

Also you want to bind functions on elements, you can do this following way. I am taking your BBJS example for the code which may help you understand better.

var App.TestView = Ember.View.extend({
    click : function(e) {
       if($(e.target).attr('id')==='some_button') {
         this.handle_button_click(e);
       } else if($(e.target).attr('id')==='some_anchor'){
         this.handle_anchor_click(e);
       }
    },
    handle_button_click : function(e) {//someCode};
    handle_anchor_click : function(e) {//someCode};
});

You can actually have code of handle_button_click or handle_anchor_click in same click function inside the conditions, unless you feel to make it more modular...

于 2013-03-07T14:05:46.780 に答える