假设我有这段代码:
App.ClickableView = Ember.View.extend({
click: function(evt) {
this.get('controller').send('turnItUp', 11);
}
});当我在视图中执行this.get('controller')时,我如何确切地知道我得到的是哪个控制器?有没有一种方法可以将视图绑定到特定的控制器,以便this.get('controller')返回该控制器?
发布于 2013-07-06 11:17:39
当我在视图中做控制器(‘this.get’)时,我怎么知道我得到的是哪个控制器呢?
console.log(this.get('controller').toString());有没有办法把一个视图绑定到一个特定的控制器,这样this.get(‘’)就会返回那个控制器?
是也不是。是的,因为controller是一个属性,所以可以像设置任何其他属性一样进行设置。但不是,因为除非你真正知道自己在做什么,否则这可能不是一个好主意。只需确保你使用了适当的助手--查看这篇文章以获得选项的概述:
http://darthdeus.github.io/blog/2013/02/10/render-control-partial-view/
通常,ember会负责将视图的控制器属性设置为适当的控制器。因此,在大多数情况下,视图不应该关心它使用的是什么控制器。添加该控制器所需的任何逻辑或属性。如果控制器需要从另一个控制器访问数据或逻辑,请使用控制器的需求属性启用跨控制器通信。
https://stackoverflow.com/questions/17498729
复制相似问题