2013-04-24 99 views
0

我有一個graphHolderController呈現此模板:灰燼this.get(「控制器」)返回父控制器

{{#each controller.graphs}} 
    {{view sidePanelView}} 
    {{view graph}} 
{{/each}} 

SidePanelView,我想調用一個方法上SidePanelController,但我發現, SidePanelViewthis.get('controller')返回graphHolderController的實例。如何從SidePanelView調用SidePanelController的方法?

回答

1

如果你想要一個視圖由其自己單獨的控制器管理,我建議使用渲染助手:{{render sidePanel}}。這將呈現side_panel模板,由sidePanelView和單例sidePanelController支持。

如果sidePanelController需要管理特定模型的狀態,請將該模型作爲上下文傳遞:{{render sidePanel this}}(其中this表示模型)。這將生成一個新的非單身人士sidePanelController來管理這個模型。由於你在{{each}}區塊內渲染,我猜你想採取這種方法。

2

問題是{{view}}幫助程序確實將您作爲第一個參數傳遞的視圖呈現,但與父視圖中綁定了相同的控制器。

如果您需要知道動作來自哪個圖形,請將您的方法移至graphHolderController併發送該模型作爲該動作的參數。

+0

也許我應該使用'{{control sidePanelView}}'而不是? – 2013-04-24 22:01:55

+1

是的,這也是可能性,但我不想建議現在使用'{{control}}'的未完成的功能。 – Myslik 2013-04-24 22:12:19