Javascript $modalProvider依赖项angujarjs的错误注入

Javascript $modalProvider依赖项angujarjs的错误注入,javascript,css,angularjs,twitter-bootstrap,angular-ui-bootstrap,Javascript,Css,Angularjs,Twitter Bootstrap,Angular Ui Bootstrap,我试图使用引导程序在angularjs中打开一个对话框,但是每当我尝试时,在注入正确的依赖项时就会出现这个错误 .controller('login_ctrl', ['$scope','$http','$window','$modal','$log', function($scope,$http,$window,$modal,$log) { var modalInstance = $modal.open({ templateUrl: 'myModalConten

我试图使用引导程序在angularjs中打开一个对话框,但是每当我尝试时,在注入正确的依赖项时就会出现这个错误

.controller('login_ctrl', ['$scope','$http','$window','$modal','$log', function($scope,$http,$window,$modal,$log) {

    var modalInstance = $modal.open({
            templateUrl: 'myModalContent.html',
            controller: 'ModalInstanceCtrl',

            //size: size,
            resolve: {
                user: function() {
                    return userData;
                },
                selectedProducts: function() {
                    return userData.selectedProducts;
                },
                products: function () {
                    //console.log($scope.selectedProducts);
                    return $scope.products; // get all available products
                }
            }
        });

}])
所有的js和css文件都在我的文档的头部分

<link href="/spree/web/lib/bootstrap/css/bootstrap.min.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="css/spree.css">
<script src="/spree/web/lib//angularjs/angular.min.js"></script>
<script src="/spree/web/lib/angularjs/angular-route.min.js"></script>
<script src="/spree/web/js/app.js"></script>
<script src="/spree/web/js/controller.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-bootstrap/2.5.0/ui-bootstrap-tpls.js"></script>
当我预览时,我在控制台中得到这个错误

错误:[$injector:unpr]


在angular js中,手动引导应该是js文件的最后一行。将这一行添加到js文件的末尾

angular.module('controller', ['ui.bootstrap'])
希望这能奏效

在新版的
ui引导程序中
所有参数和注入更改为
$uib*
,例如,对于您的问题,您必须在控制器中使用
$uibModal


您需要在模块中将控制器名称作为依赖项传递。

angular.module('controller',['login\u ctrl','ui.bootstrap'])

我建议你。服务名称是
$uibModal
,而不是
$modal
,实际上它取决于您使用的版本。请确保您阅读Phil所述的2.5.0文档。您是否将控制器定义为“ModalInstanceCtrl”?
$modal
在您的登录\u ctrl中是
未定义的
,尝试在您的项目中使用cdn源文件@pedro OP显然正在使用v2.5.0
angular.module('controller', ['ui.bootstrap'])
.controller('login_ctrl', ['$scope','$http','$window','$uibModal','$log', function($scope,$http,$window,$uibModal,$log) {

var modalInstance = $uibModal.open({
        templateUrl: 'myModalContent.html',
        controller: 'ModalInstanceCtrl',

        //size: size,
        resolve: {
            user: function() {
                return userData;
            },
            selectedProducts: function() {
                return userData.selectedProducts;
            },
            products: function () {
                //console.log($scope.selectedProducts);
                return $scope.products; // get all available products
            }
        }
    });
}]);