2013-10-08 79 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'。 –