2013-07-06 105 views
0

說我有這段代碼:如何知道哪個視圖與哪個控制器關聯?

App.ClickableView = Ember.View.extend({ 
    click: function(evt) { 
    this.get('controller').send('turnItUp', 11); 
    } 
}); 

當我做this.get('controller')的觀點裏面,我怎麼知道究竟我得到哪個控制器?有沒有辦法將視圖綁定到特定的控制器,例如this.get('controller')返回該控制器?

回答

1

當我在視圖內執行this.get('controller')時,我怎麼知道我準確得到哪個控制器?

console.log(this.get('controller').toString()); 

是否有一個視圖綁定到特定的控制器的方式,使得this.get(「控制器」)返回控制器?

是和否。是的,因爲controller是一個屬性,所以可以像其他任何設置。但不是,因爲除非你真的知道你在做什麼,否則這可能不是一個好主意。只要確保你使用的是合適的幫手 - 看到這個帖子的選項的概述:

http://darthdeus.github.io/blog/2013/02/10/render-control-partial-view/

通常燼將視圖的控制器屬性設置爲相應的控制器的照顧。所以在大多數情況下,視圖不應該關心它使用的控制器。向該控制器添加所需的任何邏輯或屬性。如果控制器需要訪問另一個控制器的數據或邏輯,請使用控制器的需求屬性啓用交叉控制器通信。

相關問題