无法注入UI Bootstrap

时间:2016-03-26 12:20:23

标签: angularjs dependency-injection angular-ui-bootstrap angular-ui

我有现成的app框架。 Index.html包含此

<!-- jQuery and Bootstrap -->
<script src="js/jquery/jquery-2.1.1.min.js"></script>
<script src="js/plugins/jquery-ui/jquery-ui.js"></script>
<script src="js/bootstrap/bootstrap.min.js"></script>

<!-- MetsiMenu -->
<script src="js/plugins/metisMenu/jquery.metisMenu.js"></script>

<!-- SlimScroll -->
<script src="js/plugins/slimscroll/jquery.slimscroll.min.js"></script>

<!-- Peace JS -->
<script src="js/plugins/pace/pace.min.js"></script>

<!-- Custom and plugin javascript -->
<script src="js/inspinia.js"></script>

<!-- Main Angular scripts-->
<script src="js/angular/angular.min.js"></script>
<script src="js/plugins/oclazyload/dist/ocLazyLoad.min.js"></script>
<script src="js/ui-router/angular-ui-router.min.js"></script>
<script src="js/bootstrap/ui-bootstrap-tpls-0.12.0.min.js"></script>

<!-- Our application's scripts -->
<script src="js/controllers.js"></script>

js/controllers.js,我有

angular
    .module('inspinia')
    .controller('MainCtrl', MainCtrl)

我的控制器是

function MainCtrl($scope, $http, $interval, $state, $location)

当我尝试通过将其引导到

来注入UI引导程序时
.module('inspinia', ['ui.bootstrap'])

我得到了

  

“错误:[$ injector:unpr]   http://errors.angularjs.org/1.3.7/ $注射器/ unpr?P0 =%24stateProvider%20%3 C-%20%24state%20%3 C-%20MainCtrl

我确信这很简单,但我看不清楚。

1 个答案:

答案 0 :(得分:2)

似乎您在控制器中使用$state API服务,因此您还需要在其中加入ui.router

因此,在询问$state依赖项时,注入器无法在$injector/unpr?p0=%24stateProvider

中的角度DI容器MainCtrl内找到要求的依赖项
angular
  .module('inspinia', ['ui.bootstrap', 'ui.router'])