AngularJS-在运行时创建工厂

莉拉兹

我正在使用odata服务,并且想为每种实体类型创建辅助服务,因此在获取元数据之后,我将创建工厂(在对angular进行引导之前完成此操作)

  var serviceName = allTypes[type].shortName + 'RepositoryService';
                angular.module('app').factory(serviceName, [function() {

                    function sayHello() {
                        console.log('hello');
                    }

                    return {
                        sayHello: sayHello
                    };
                }]);

我试图在另一个控制器中使用它

 sensorService = $injector.get('CSensorRepositoryService');

我收到一个错误

错误:[$ injector:unpr]未知提供程序:CSensorRepositoryServiceProvider <-CSensorRepositoryService

当遍历所有可用工厂时,我看到该工厂退出了

var mod = angular.module('app');
        for (var id in mod._invokeQueue) {
            if ((mod._invokeQueue[id])[1] === 'factory') {
                console.log( id + " " + ((mod._invokeQueue[id])[2])[0]);
            }
        }

当我尝试带“硬编码”的工厂时,一切正常,我做错了什么?

Calebboyd

您可以通过暴露来自app.config的提供程序来实现此目的...

var app = angular.module('app',[]);
app.config(function($provide){
    app.register =
        {
            factory: $provide.factory,
            service: $provide.service,
            constant: $provide.constant
        };
});

然后在以后的时间...

app.register.factory('myFactory',function(){...});

我只是确定这不会在可能重复发生的地方发生

这与此处介绍的概念相同

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在运行时在AngularJS中创建模块?

来自分类Dev

在运行时在AngularJS中加载JavaScript

来自分类Dev

在运行时在AngularJS中获取HTML元素的宽度

来自分类Dev

是否可以在运行时更改AngularJS变量的类型?

来自分类Dev

在运行时在AngularJS中获取HTML元素的宽度

来自分类Dev

在运行时在angularjs中设置文本颜色的样式

来自分类Dev

在运行时更改 angularjs 嵌套模板

来自分类Dev

在AngularJS中创建工厂而不是Singleton

来自分类Dev

AngularJS,Restangular-在运行时设置Restangular.baseUrl

来自分类Dev

在AngularJS中以编程方式在运行时设置HTML元素的宽度

来自分类Dev

是否可以在运行时即时切换AngularJS的国际化语言?

来自分类Dev

angularjs-如果我的响应在运行时更改结构,如何生成动态页面

来自分类Dev

如何在运行时在AngularJS中更改模板URL?

来自分类Dev

AngularJS指令运行时模板更改

来自分类Dev

AngularJS指令运行时模板更改

来自分类Dev

在运行时创建的访问控制

来自分类Dev

DevExpress WebChartControl在运行时创建

来自分类Dev

在运行时快速创建函数

来自分类Dev

在运行时动态创建类

来自分类Dev

在运行时创建Tasklet

来自分类Dev

在运行时创建字段

来自分类Dev

在运行时创建Spock测试

来自分类Dev

在运行时创建Command对象

来自分类Dev

在运行时创建对象?

来自分类Dev

django在运行时创建信号

来自分类Dev

在运行时创建UI元素

来自分类Dev

在运行时创建并填充 ImageList

来自分类Dev

Javascript:在运行时创建函数

来自分类Dev

选择在运行时创建的组件