为此使用正确的角度工厂和服务的正确方法

我正在寻找一种明智的方法来做..在我学习Angular的同时,我有些困惑。

我有服务

.service('Cameras', function(Camera){
    var _list = [];

  // public API
   this.list = _list;

  document.body.addEventListener("dbready", function(){
  loadCameras(function(result){
    for(var i=0; i < result.rows.length; i++)
      _list.push(new Camera(result.rows.item(i).name, result.rows.item(i).ip, result.rows.item(i).id));
  });
  }, false);


 })

哪个试图使用这个工厂

 .factory('Camera', function(name,ip,id) {

    this.name = name;
    this.ip = ip;
    this.videoFiles = [];
    this.photoFiles = [];
    this.battery = 0;
    this.space = 0;
})

创建Camera对象。

我收到这个错误

[$ injector:unpr]未知提供程序:nameProvider <-名称<-摄像机<-摄像机

我认为这是因为我没有将Camera工厂正确地注入Camera服务中-并且我可能会以错误的方式进行操作-但有人可以让我知道正确的方法吗?

尼伯(JB Nizet)

否。您已将Camera声明为Angular服务。

相机服务需要注入服务“名称”,服务“ ip”和服务“ id”。这些服务不存在。

请记住,服务是单例的他们的工厂可以将其他服务作为参数,但不能将名称,ip或id等数据作为参数:创建唯一的Camera实例时,Angular将从何处获取这些数据?

如果您需要这样的参数来构建相机,那么它根本不应该是一项服务。只是一个常规的JavaScript构造函数。因此,不应将其注入Cameras服务中。

还要注意,相机对于传递为参数的id不会执行任何操作。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何正确使用角度工厂?

来自分类Dev

可以交替使用角度工厂和服务-没有错误

来自分类Dev

遵循正确的工厂模式从控制器调用服务方法

来自分类Dev

使用/实施服务的正确方法

来自分类Dev

角度工厂承诺将无法正确解决

来自分类Dev

用令牌认证客户端和服务器端的正确方法?

来自分类Dev

用令牌认证客户端和服务器端的正确方法?

来自分类Dev

使用控制器初始化角度服务的正确方法

来自分类Dev

如何正确注入角度服务

来自分类Dev

使用zeroconf区分多个服务的正确方法

来自分类Dev

使用zeroconf区分多个服务的正确方法

来自分类Dev

使用ravendb的服务堆栈angularjs,正确的方法

来自分类Dev

如何正确安装systemd计时器和服务?

来自分类Dev

从工厂到$ scope。正确的方法是什么?

来自分类Dev

我执行的工厂方法正确吗?

来自分类Dev

使用DI正确执行工厂模式

来自分类Dev

如何将AngularJS的控制器和服务正确转换为使用ng-resource

来自分类Dev

如何正确使用客户端和服务器端的javascript文件-Node.js

来自分类Dev

如何在客户端和服务器中正确使用OpenTelemetry导出器和OpenTelemetry收集器?

来自分类Dev

正确使用有角度的$ resource

来自分类Dev

AngularJS从指令看服务变量,如何正确实现工厂?

来自分类Dev

角离子-了解模型,工厂和服务

来自分类Dev

角离子-了解模型,工厂和服务

来自分类Dev

注入Angular工厂和服务的问题

来自分类Dev

从工厂返回正确的值

来自分类Dev

使用Chocolatey安装Windows服务的“正确”方法是什么?

来自分类Dev

使用Polly断路器处理多种服务的正确方法

来自分类Dev

如何使用同步方法正确调用异步服务

来自分类Dev

学习角度-这是将div链接到服务的正确方法吗?

Related 相关文章

  1. 1

    如何正确使用角度工厂?

  2. 2

    可以交替使用角度工厂和服务-没有错误

  3. 3

    遵循正确的工厂模式从控制器调用服务方法

  4. 4

    使用/实施服务的正确方法

  5. 5

    角度工厂承诺将无法正确解决

  6. 6

    用令牌认证客户端和服务器端的正确方法?

  7. 7

    用令牌认证客户端和服务器端的正确方法?

  8. 8

    使用控制器初始化角度服务的正确方法

  9. 9

    如何正确注入角度服务

  10. 10

    使用zeroconf区分多个服务的正确方法

  11. 11

    使用zeroconf区分多个服务的正确方法

  12. 12

    使用ravendb的服务堆栈angularjs,正确的方法

  13. 13

    如何正确安装systemd计时器和服务?

  14. 14

    从工厂到$ scope。正确的方法是什么?

  15. 15

    我执行的工厂方法正确吗?

  16. 16

    使用DI正确执行工厂模式

  17. 17

    如何将AngularJS的控制器和服务正确转换为使用ng-resource

  18. 18

    如何正确使用客户端和服务器端的javascript文件-Node.js

  19. 19

    如何在客户端和服务器中正确使用OpenTelemetry导出器和OpenTelemetry收集器?

  20. 20

    正确使用有角度的$ resource

  21. 21

    AngularJS从指令看服务变量,如何正确实现工厂?

  22. 22

    角离子-了解模型,工厂和服务

  23. 23

    角离子-了解模型,工厂和服务

  24. 24

    注入Angular工厂和服务的问题

  25. 25

    从工厂返回正确的值

  26. 26

    使用Chocolatey安装Windows服务的“正确”方法是什么?

  27. 27

    使用Polly断路器处理多种服务的正确方法

  28. 28

    如何使用同步方法正确调用异步服务

  29. 29

    学习角度-这是将div链接到服务的正确方法吗?

热门标签

归档