2013-04-08 2 views
4

У меня есть модель AngularJS, в которой я создал модуль под названием myService для хранения некоторого часто используемого кода, который я использую во всем приложении. Моя общая фабрика - это то место, где я добавляю все свои методы, и теперь я хочу разделить это и дать им хорошие имена.Методы доступа Angularjs на другом заводе

Многие мои методы называют друг друга так, как я могу назвать метод, который находится на другом заводе?

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

ответ

12

Вам только нужно вводить его:

.factory('test2', function (Common) { 
    return { 
    foobar: function() { 
     Common.test(); 
    } 
    }; 
}) 
0

Это то, что я сделал, и работал отлично. Вызовите SessionPresenters из сеанса. Вы должны передать 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' } 
     }); 
    }); 
Смежные вопросы