2015-02-05 62 views
0

我想從一個模塊注入自定義工廠到另一個模塊的自定義提供者。我真正想做的是在配置塊中使用自定義工廠,但是我不能,所以我想配置一個使用自定義工廠的提供者,然後它將被注入到配置中。注入和使用服務到我的提供者,然後在配置塊中使用提供者

我一直在試圖將我的自定義工廠注入提供程序,但我似乎無法正確理解。我不知道它是語法還是我的方法是錯誤的。我的問題是:

1.)這甚至可能嗎?
2.)是我的語法正確嗎?

這裏是工廠:

.factory('myFactory', myFactory); 
    myFactory.$inject = ['$q', '$http', 'Story']; 
    function myFactory($q, $http) { 

    return { 
     getSomething: getSomething, 
    } 

    function getSomething() { 

    } 
} 

這裏是供應商:

.provider('myProvider', function() { 
    return { 
     $get: function(myFactory) { 
      function getStuff() { 
       return myFactory.getSomething().then(function(data){ 
        return data; 
       }) 
      } 
      return { 
       stuff: getStuff 
      } 
     } 
    } 
}) 

,我得到的錯誤是這樣的:

Cannot read property 'getSomething' of undefined 

這是正確的使用提供者?我覺得我可能會錯過一些東西。謝謝!

回答

0

在配置階段,你不能訪問服務:

在應用引導,角熄滅創建所有 服務之前,其配置和實例化所有供應商。我們稱這個應用程序生命週期的配置階段爲 。在 階段,服務不可訪問,因爲尚未創建 。

https://docs.angularjs.org/guide/providers

相關問題