2012-08-08 42 views
0

我有一個視圖觸發了一個在路由器狀態內處理的事件。Ember.js在路由器中獲取視圖觸發事件

<button {{action signUp this}} type="button" class="btn btn-primary">Sign-Up</button> 

這裏是一個處理程序:

signUp: (router, event) -> 
    //how do I get an instance of the "View" class triggered an event? 

我可以使用event.context獲得View類的所有綁定屬性,但實際上我想查看類的完整實例,該實例已經引發了這個事件。任何提示如何實現這一目標?

+0

用視圖關鍵字替換這個應該可以工作。但我不知道爲什麼你需要在處理程序 – 2012-08-08 15:14:17

+0

中有視圖實例,我想在視圖內部放置一些驗證邏輯。例如。我想檢查密碼是否匹配。 – 2012-08-08 17:20:23

回答

4

如果你想要做的驗證等的看法,我建議你來調用視圖

// template 
{{action signUp target="parentView"}} 

的行動,並通過有

// view 
signUp: function() { 
    // validation etc 
    App.router.send('signUp',context); 
} 

的事件發送到路由器如果需要,您可以操縱上下文以包含對當前視圖的引用(this)。

希望有幫助!