Javascript $modalProvider依赖项angujarjs的错误注入
我试图使用引导程序在angularjs中打开一个对话框,但是每当我尝试时,在注入正确的依赖项时就会出现这个错误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
.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
}
}
});
}]);