无法注入 UI Bootstrap

Can't inject UI Bootstrap

我有现成的应用程序框架。 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 bootstrap 更改为

来注入时
.module('inspinia', ['ui.bootstrap'])

我明白了

"Error: [$injector:unpr] http://errors.angularjs.org/1.3.7/$injector/unpr?p0=%24stateProvider%20%3C-%20%24state%20%3C-%20MainCtrl

我确定这是很简单的东西,但我看不出是什么。

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

因此,在请求 $state 依赖项时,注入器无法在 MainCtrl

中的 angular DI 容器 $injector/unpr?p0=%24stateProvider 中找到请求的依赖项
angular
  .module('inspinia', ['ui.bootstrap', 'ui.router'])