Javascript Angularjs在另一个工厂中访问方法

Javascript Angularjs在另一个工厂中访问方法,javascript,angularjs,coffeescript,Javascript,Angularjs,Coffeescript,我有一个AngularJS模型,在这个模型中我创建了一个名为myService的模块来保存我在整个应用程序中使用的一些常用代码。我的公共工厂是我添加所有方法的地方,现在我想把它们分开,给它们起个好名字 我的很多方法都是互相调用的,那么我如何调用另一个工厂中的方法呢 angular.module('myService', ['ngResource']) .factory('test2', ($window) -> return { foobar: () ->

我有一个AngularJS模型,在这个模型中我创建了一个名为myService的模块来保存我在整个应用程序中使用的一些常用代码。我的公共工厂是我添加所有方法的地方,现在我想把它们分开,给它们起个好名字

我的很多方法都是互相调用的,那么我如何调用另一个工厂中的方法呢

angular.module('myService', ['ngResource'])
  .factory('test2', ($window) ->
    return {
      foobar: () ->
        Common.test()
    }
  )  
  .factory('Common', ($window) ->
    return {
      test: () ->
        alert 'testing'
    }
  )

您只需将其注入:

.factory('test2',函数(通用){
返回{
foobar:function(){
公共测试();
}
};
})

这就是我所做的,并且工作得很好。从会话中呼叫会话演示者。您需要将SessionPresenters作为参数传递给factory实现函数

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' }
        });
    });