簡體   English   中英

Angular,將自己的服務注入提供者

[英]Angular, injecting own service into provider

因此,我正在與提供者合作,並在$ get中注入一些angular的$ log和$ location服務,以便與他們合作,這很好。 但是,當我想將自己的服務注入提供程序時,它似乎不起作用。

這就是我的意思-我可以像這樣在提供程序中注入有角的$ log和$ location

   this.$get = $get;
    $get.$inject = ['$log', '$location'];

    function $get( $log, $location) {
        return {
            setModule: function(name, cb) {

            },
            getModules: function() {

            }
        }
    }

但是,我下面有一項服務

 .service("myService",function(){
 this.sayHello = function() {
    return "Hello, World!"
});

並嘗試像

 $get.$inject = ['myService', '$log', '$location'];

    function $get(myService, $log, $location) {

當我在提供程序中調用myService時,它未定義返回。

有什么理由可以調用angular($)而不是我自己的東西注入提供程序嗎?

謝謝!

編輯:因此,在我注入后,我嘗試在$ get之類的地方使用它

   $get.$inject = ['myService', '$log', '$location'];

    function $get(myService, $log, $location) {
      return {
          test: function(){
               console.log(myService);
           }
        }

返回未定義

1)將$ injector作為依賴項傳遞給控制器​​['$ injector']

2)調用$ injector.get通過名稱實例化服務

$ scope.service = $ injector.get(服務名);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM