2013-10-08 56 views
2

我已经在我的模板获取属性点击

<a href="javascript:void(0)" tab-name="Personal Information" {{action "switchTab" target="view"}}>Personal Information</a> 

下我的观点是遵循

App.SidebarView = Ember.View.extend({ 
    templateName: 'sidebar', 
    actions: { 
     switchTab: function(e){ 
      //Some Code 
     } 
    } 
}); 

用户点击后怎么能得到的标签名称属性

回答

1

你只需要抓住一个DOM相关的事件像click以获取事件对象,action内无活动的对象被传承下去,所以要尽量视图改成这样:

在你的模板中删除action

在为 click事件您查看寄存器
<a href="javascript:void(0)" tab-name="Personal Information">Personal Information</a> 

然后:

App.SidebarView = Ember.View.extend({ 
    templateName: 'sidebar', 
    click: function(e){ 
    var tabName = $(e.target).attr("tab-name"); 
    console.log(tabName); 
    } 
}); 

例jsbin:http://jsbin.com/ETUroGA/1/edit

希望它有帮助。

-1

我想你可以这样做:

App.SidebarView = Ember.View.extend({ 
    templateName: 'sidebar', 
    actions: { 
     switchTab: function(event, view){ 
      var tab-name = $(event.target).attr("tab-name") 
      // some code 
     } 
    } 
}); 
+1

我已经尝试过,但似乎事件未定义 – user1795109

+0

在'actions'中定义的方法无法访问'event'。 –