2016-02-26 48 views
1

不工作如果我宣佈了一項指令,像這樣(由http://ify.io/lazy-loading-in-angularjs/啓發):指令引導之後編譯後縮小

myApp.compileProvider 
    .directive('myDirective', 
     ['$http', '$timeout', 
     function($http, $timeout){ 
      return { 
       (...) 
      } 
     }]); 

它可以縮小之前預期。

但它返回一個錯誤後:

Error: [$injector:unpr] Unknown provider: iProvider <- i 

這表明依賴沒有聲明。

是否存在縮小安全延遲加載的指令依賴關係的不同語法?

+0

[內聯通知爲依賴項注入](https://docs.angularjs.org/tutorial/step_05)應該工作...任何機會它不是這個指令導致錯誤? – Jorg

回答

0

你可能已經忘記了什麼地方做正確的注射在你的代碼,這意味着這樣做:

function($http, $service,...) 

取而代之的是

['$http', '$service', [...], function($http, $service,...){}] 

如果您想了解,你有一個問題的詳細信息你應該通過添加ng-strict-di和ng-app標籤來啓用strict-di。檢查https://docs.angularjs.org/guide/di

+0

你建議的方法不是縮小安全 – coiso

+0

是的,這是我建議的第二塊,它的縮小是安全的。我說的是,這可能不是他的指令,而是他的代碼中的其他地方。 – Walfrat