Ember.js 如何处理余烬视图中不同DOM元素的事件?

Ember.js 如何处理余烬视图中不同DOM元素的事件?,ember.js,Ember.js,我的余烬视图是其他DOM元素的容器。我对独立处理一些包含DOM元素的事件感兴趣。例如,在backbone.js视图中,我们可以将它们作为 events: { 'click #some_button': 'handle_button_click', 'click #some_anchor': 'handle_anchor_click' } 如何针对emberjs做类似的事情?。是否必须为我感兴趣的每个DOM元素创建独立视图来处理事件?无需为每个元素创建视图 只需使用{{action}

我的余烬视图是其他DOM元素的容器。我对独立处理一些包含DOM元素的事件感兴趣。例如,在backbone.js视图中,我们可以将它们作为

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

如何针对emberjs做类似的事情?。是否必须为我感兴趣的每个DOM元素创建独立视图来处理事件?

无需为每个元素创建视图

只需使用
{{action}
助手,您就可以在控制器或路由器中捕获这些事件


这里有更多信息:

在EmberJS中,您不需要将事件绑定到函数。Ember提供对DOM事件的默认绑定。我建议您仔细阅读以了解绑定

另外,如果要在元素上绑定函数,可以按照以下方式进行。我以您的BBJS示例为例,以帮助您更好地理解代码

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};
});

实际上,你可以在条件中使用相同的
click
功能中的
handle\u button\u click
handle\u anchor\u click
代码,除非你想让它更模块化…

你已经阅读过关于Ember的动作助手了吗?