2016-02-26 49 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