Angular $ uibModal导致错误:[$ injector:unpr]

时间:2016-05-25 09:04:17

标签: javascript angularjs angular-ui-bootstrap bootstrap-modal

我正在尝试从this site

实施$ uibModal

但是只要我将$ uibModal服务添加到我的控制器,我就会收到错误:[$ injector:unpr] http://errors.angularjs.org/1.4.8/ $ injector / unpr?p0 =%24uibModalProvider%20%3C-%20%24uibModal%20 3C-%%20dailymenuController 我的角度代码如下:

var app = angular.module('App', ['djangular-confirm','djangular-alert','ui.bootstrap']).config(function($httpProvider,$interpolateProvider) {

                $httpProvider.defaults.headers.common['X-Requested-With'] = 'XMLHttpRequest';
                $httpProvider.defaults.headers.common['X-CSRFToken'] = '{$ csrf_value $}';
                $interpolateProvider.startSymbol('{$');
                $interpolateProvider.endSymbol('$}');
            });

            app.controller('dailymenuController', function($scope, $http, $location, $djconfirm, $djalert, $uibModal ) {

                var modalInstance = $uibModal.open({

                });
});

我添加了这两个文件:   '用户界面,引导定制-1.3.3.js'   '自举-定制TPLS-1.3.3.js'

我是棱角分明的新手,到目前为止使用角度进行了很少的开发。我在google和SO上搜索过,然后才知道" ui.bootstrap"在创建模块时。但即使这样也没有解决问题。任何帮助都会很棒。

2 个答案:

答案 0 :(得分:1)

此类错误[$injector:unpr]表明Angular无法resolve provider for the item您正在使用 - 在您的情况下需要将$uibModal注入您的控制器

app.controller('dailymenuController', ['$scope', '$uibModal', function($scope, $uibModal ) {
  var modalInstance = $uibModal.open({
     //...
  });
}]);

答案 1 :(得分:0)

您必须同时包含:

<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.5.0/ui-bootstrap.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.5.0/ui-bootstrap-tpls.min.js"></script>

包括Angular。