我如何知道哪个视图与哪个控制器相关联?

时间:2013-07-06 01:25:39

标签: ember.js

说我有这段代码:

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

当我在视图中this.get('controller')时,我如何确切地知道我得到了哪个控制器?有没有办法将视图绑定到特定的控制器,以便this.get('controller')返回该控制器?

1 个答案:

答案 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会负责将视图的控制器属性设置为适当的控制器。所以在大多数情况下,视图不应该关心它正在使用什么控制器。添加该控制器所需的任何逻辑或属性。如果控制器需要从另一个控制器访问数据或逻辑,请使用控制器的需要属性启用跨控制器通信。

相关问题