Ember跨对象调用公共代码

时间:2015-11-02 05:07:41

标签: javascript ember.js

我是Ember的新手,对于将公共代码放在哪里有疑问。 考虑一个简单的场景。我有一个AJAX请求,我想在多个地方使用响应(比如一个路由和一些控制器或两个不同的控制器)

我有两个问题;

  1. 在Ember中,我可以从任何其他控制器访问任何控制器(例如X.js) 控制器(比如Y.js),只需使用 this.controllerFor(this.routeName)
  2. 如果上述情况属实,那么这是一种更好的公共代码方法(即在X控制器中具有保存公共API响应的属性),然后在另一个控制器中使用它或者我应该使用Ember服务来实现公共代码并通过依赖注入,使用公共代码/ API响应?
  3. 此用例的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

  

我应该将Ember服务用于公共代码还是依赖   注入,使用公共代码/ API响应?

是的,您应该使用Ember服务。

原因:

  • 将来将删除控制器并替换为组件
  • 您可以在任何控制器,路由甚至组件中注入服务
  • 更好的代码抽象和关注点分离