繁体   English   中英

在另一家工厂AngularJS内使用工厂

[英]Using a factory inside another factory AngularJS

我有一个模块......

angular.module('myModule', []);

然后是工厂

angular.module('myModule')
.factory('factory1', [
  function() {
    //some var's and functions
}
]);

然后是另一家工厂

angular.module('myModule')
.factory('factory2', [
  function() {
    //some var's and functions BUT I want to use some var's from factory1
}
]);

但是我想在factory2中使用factory1中的一些变量,如何将factory1注入factory2?

这就是我要做的:

在工厂一

angular.module('sampleApp')
    .factory('factory1', function() {
        var factory1 = {};

        factory1.method1 = function () {
            return true;
        };

        factory1.method2 = function () {
            return "hello";
        };

        return factory1;
    }
);

在工厂二

angular.module('sampleApp')
    .factory('factory2', ['factory1',
        function(factory1) {

            var factory2 = {};

            factory2.method3 = function () {
                return "bye vs " + factory1.method2();
            };

            return factory2;
        }
    ]);

这就是我做的和工作得很好。 从Session调用SessionPresenters

angular.module('tryme3App')
    .factory('Session', function ($resource, DateUtils, SessionPresenters) {
        return $resource('api/sessions/:id', {}, {
            'query': { method: 'GET', isArray: true},
            'get': {
                method: 'GET',
                transformResponse: function (data) {
                    data = angular.fromJson(data);

                    var result = SessionPresenters.get({id: data.id})
                    data.presenters = result; 
                    return data;
                }
            },
            'update': { method:'PUT' }
        });
    }).factory('SessionPresenters', function ($resource, DateUtils) {
        return $resource('api/session.Presenters/:id', {}, {
            'query': { method: 'GET', isArray: true},
            'get': {
                method: 'GET', isArray: true
            },
            'update': { method:'PUT' }
        });
    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM