2014-04-16 19 views
14

Mam moduł ...Korzystanie z fabryki wewnątrz innego angularjs fabrycznych

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

A potem fabryka

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

A potem kolejna fabryka

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

Ale chcę użyj niektórych zmiennych z fabryki1 wewnątrz fabryki2, jak mogę wprowadzić fabrykę1 do fabryki2?

Odpowiedz

18

To jest to, co chciałbym zrobić:

Na Fabryki One

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

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

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

     return factory1; 
    } 
); 

Na Fabryki Dwa

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

      var factory2 = {}; 

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

      return factory2; 
     } 
    ]); 
+4

Tak, [tu jest upadać] (http://plnkr.co/edit/vscK9lLBhinBL9sYo65z?p=preview) –

+0

Dzięki @MohammadSepahvand miły dodatek. – Dalorzo

+0

Tak, jest wspaniale. Dzięki. – zhulinpinyu

1

To co zrobiłem i działało dobrze. Zadzwoń SessionPresenters z Sesji

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' } 
     }); 
    }); 
Powiązane problemy