假设我有这段代码:
App.ClickableView = Ember.View.extend({
click: function(evt) {
this.get('controller').send('turnItUp', 11);
}
});
当我this.get('controller')
在视图中执行操作时,我如何确切知道我得到的是哪个控制器?有没有办法将视图绑定到特定的控制器,以便this.get('controller')
返回该控制器?
假设我有这段代码:
App.ClickableView = Ember.View.extend({
click: function(evt) {
this.get('controller').send('turnItUp', 11);
}
});
当我this.get('controller')
在视图中执行操作时,我如何确切知道我得到的是哪个控制器?有没有办法将视图绑定到特定的控制器,以便this.get('controller')
返回该控制器?
当我在视图中执行 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 会负责将视图的控制器属性设置为适当的控制器。所以在大多数情况下,视图不应该关心它正在使用什么控制器。添加该控制器所需的任何逻辑或属性。如果控制器需要访问另一个控制器的数据或逻辑,请使用控制器的需求属性启用跨控制器通信。