使用需求将对象注入Ember.js中的其他对象

Codematix

我想了解该needs属性是否可用于将任意对象注入到控制器,路由和视图中。

我正在开发一个Ember.js应用程序,其中编写了一个自定义数据服务层,该层与后端进行通信以加载和持久化数据。我定义了代表各种后端服务的Ember对象,例如:

App.SessionServiceClient = Em.Object.extend({
  // methods and attributes
});

App.UserServiceClient = Em.Object.extend({
  // methods and attributes
});

现在,我将这些对象注册到应用程序的容器中,以使它们可用于DI:

App.register('service:session', App.SessionServiceClient, {singleton: false});
App.register('service:user', App.UserServiceClient, {singleton: false});

现在可以使用对象了,如果我有一个仅需要SessionServiceClient的控制器,则可以执行以下操作:

App.SignInController = Em.ObjectController.extend({
  needs: ['service:user'],                  // using the needs to declare dependency
  actions: {
    // actions for the view
  }
});

当我尝试此操作时,它不起作用。Ember.js是否可能这样做,或者我做错了吗?

戈登克

最佳实践是使用初始化程序将服务注入到需要它的控制器中。SEe http://ember.zone/ember-application-initializers/

Ember.Application.initializer({
 name: "sessionLoader",
 after: "store",

 initialize: function(container, application) {
    container.register('service:session', App.SessionServiceClient, {singleton: false});
    container.injection('route', 'session', 'service:session');
    container.injection('controller', 'session', 'service:session');
  });
}
});

另外,您应该真正尝试切换到Ember-CLI或至少使用ES6模块结构。(即使用导入而不是全局变量。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Ember对象的“需求”

来自分类Dev

如何将对象移动到THREE.JS中的其他对象位置?

来自分类Dev

如何将对象移动到THREE.JS中的其他对象位置?

来自分类Dev

使用Autofac将对象注入MassTransit Saga

来自分类Dev

Python中包含其他对象的对象

来自分类Dev

从其他对象中获取对象

来自分类Dev

将对象注入表单

来自分类Dev

如何使用依赖注入将对象注入模块?

来自分类Dev

在golang中的其他包中将对象子类化

来自分类Dev

使用setInterval的其他方法调用的方法无法访问js中的对象属性

来自分类Dev

注入需求对象取决于构造函数注入中的条件

来自分类Dev

注入需求对象取决于构造函数注入中的条件

来自分类Dev

从其他类访问main中的对象

来自分类Dev

如何访问其他类中的对象?

来自分类Dev

Python在其他对象中的集成

来自分类Dev

定义其他类中的对象

来自分类Dev

访问其他脚本中的对象属性

来自分类Dev

在password.js或会话中某处的用户对象中添加其他信息

来自分类Dev

将对象添加到数组中并更改该数组中其他对象的属性

来自分类Dev

如何使用依赖注入将对象传递给ViewModel?

来自分类Dev

将对象注入引导模态

来自分类Dev

将对象从 AppDelegate 注入 UIViewController

来自分类Dev

在THREE.js中无法将位置设置为其他对象的位置

来自分类Dev

制作JS游戏,将其他对象添加到代码中

来自分类Dev

如何在Node.js中向JSON,Date或其他“本机”对象全局添加方法?

来自分类Dev

根据Node JS中的其他数组过滤/搜索对象的JavaScript数组

来自分类Dev

将对象值与同一数组中的其他对象进行比较

来自分类Dev

重载C ++运算符以将对象中的指针设置为其他对象

来自分类Dev

打字稿设计模式,可将对象嵌入其他对象中。ts(2322)

Related 相关文章

  1. 1

    使用Ember对象的“需求”

  2. 2

    如何将对象移动到THREE.JS中的其他对象位置?

  3. 3

    如何将对象移动到THREE.JS中的其他对象位置?

  4. 4

    使用Autofac将对象注入MassTransit Saga

  5. 5

    Python中包含其他对象的对象

  6. 6

    从其他对象中获取对象

  7. 7

    将对象注入表单

  8. 8

    如何使用依赖注入将对象注入模块?

  9. 9

    在golang中的其他包中将对象子类化

  10. 10

    使用setInterval的其他方法调用的方法无法访问js中的对象属性

  11. 11

    注入需求对象取决于构造函数注入中的条件

  12. 12

    注入需求对象取决于构造函数注入中的条件

  13. 13

    从其他类访问main中的对象

  14. 14

    如何访问其他类中的对象?

  15. 15

    Python在其他对象中的集成

  16. 16

    定义其他类中的对象

  17. 17

    访问其他脚本中的对象属性

  18. 18

    在password.js或会话中某处的用户对象中添加其他信息

  19. 19

    将对象添加到数组中并更改该数组中其他对象的属性

  20. 20

    如何使用依赖注入将对象传递给ViewModel?

  21. 21

    将对象注入引导模态

  22. 22

    将对象从 AppDelegate 注入 UIViewController

  23. 23

    在THREE.js中无法将位置设置为其他对象的位置

  24. 24

    制作JS游戏,将其他对象添加到代码中

  25. 25

    如何在Node.js中向JSON,Date或其他“本机”对象全局添加方法?

  26. 26

    根据Node JS中的其他数组过滤/搜索对象的JavaScript数组

  27. 27

    将对象值与同一数组中的其他对象进行比较

  28. 28

    重载C ++运算符以将对象中的指针设置为其他对象

  29. 29

    打字稿设计模式,可将对象嵌入其他对象中。ts(2322)

热门标签

归档