将服务转换为AngularJS中的工厂

时间:2015-07-10 09:48:52

标签: angularjs factory angularjs-service

我在angularjs中编写了以下服务,如何/如何将其更改为工厂?而且,当使用工厂而不是服务时,有哪些优点/差异?

angular.module('helloApp').service('popupService', function() {
    var popup;

    var setter = function(parameter) {
        popup = parameter;
    };

    var getter = function() {
        return popup;
    };

    return {
        setter: setter,
        getter: getter
    };
});

提前致谢

1 个答案:

答案 0 :(得分:1)

要更改它,首先应该在模块中将其声明为工厂

child.material.normalMap.wrapS = child.material.normalMap.wrapT = THREE.RepeatWrapping;

这个问题(工厂VS服务)是Stackoverflow中最受欢迎的问题之一:AngularJS: Service vs provider vs factory

  

服务

     

语法:module.service('serviceName',function);

     

结果:何时   声明serviceName作为注入参数,您将被提供   有一个函数的实例。换句话说,新的   FunctionYouPassedToService()。

     

工厂

     

语法:module.factory('factoryName',function);

     

结果:何时   声明将factoryName作为注入参数,您将被提供   使用通过调用函数引用返回的值   传递给module.factory。

官方文件

您也可以在Angular网站上找到官方文档: