说我有这段代码:
App.ClickableView = Ember.View.extend({
click: function(evt) {
this.get('controller').send('turnItUp', 11);
}
});
当我在视图中this.get('controller')
时,我如何确切地知道我得到了哪个控制器?有没有办法将视图绑定到特定的控制器,以便this.get('controller')
返回该控制器?
答案 0 :(得分:1)
当我在视图中执行this.get('controller')时,我如何确切地知道我得到了哪个控制器?
console.log(this.get('controller').toString());
有没有办法将视图绑定到特定的控制器,以便this.get('controller')返回该控制器?
是和否。是的,因为controller
是一个属性,因此可以像其他任何东西一样设置。但不,因为除非你真的知道自己在做什么,否则这可能不是一个好主意。请确保您使用的是相应的帮助程序 - 有关选项的概述,请参阅此文章:
http://darthdeus.github.io/blog/2013/02/10/render-control-partial-view/
通常,ember会负责将视图的控制器属性设置为适当的控制器。所以在大多数情况下,视图不应该关心它正在使用什么控制器。添加该控制器所需的任何逻辑或属性。如果控制器需要从另一个控制器访问数据或逻辑,请使用控制器的需要属性启用跨控制器通信。