[英]Unknown provider: $uibModalInstanceProvider - Bootstrap UI modal
我有一个UI Bootstrap模式的问题。
在一个控制器中我有这个:
app.controller("tableCtrl",['$scope','$http','$uibModal','$log' ,function ($scope, $http,$uibModal,$log) {
$scope.open = function (size,selectedUser) {
var modalInstance = $uibModal.open({
animation: $scope.animationsEnabled,
templateUrl: 'myModalContent.html',
controller:'ModalInstanceCtrl',
size: size,
resolve: {
user: function () {
return selectedUser;
}
}
});
}]);
在另一个我有这个:
app.controller('ModalInstanceCtrl',['$scope','$uibModalInstance','user', function ($scope, $uibModalInstance, user) {
$scope.user = user;
$scope.ok = function () {
$uibModalInstance.close();
};
}]);
myModalContent
看起来像这样:
<script type="text/ng-template" id="myModalContent.html">
<div class="modal-header"><h1>EDIT</h1></div>
<div class="modal-body">
{{patient.patient_id}}
</div>
<div class="modal-footer">
<button class="btn btn-primary" type="button" ng-click="ok()">OK</button>
</div>
</script>
我只在HTML中调用tableCtrl
并调用open
函数,如下所示:
<button class="btn btn-primary" ng-click="open('lg',patient)">Edit</button>
当我单击编辑按钮时,我收到此异常:
Unknown provider: $uibModalInstanceProvider <- $uibModalInstance
我看到了这个傻瓜,但它没有帮助我。
怎么了?
我遇到了同样的问题,所以从我的解决方案来看,你可以如何解决你的问题
app.controller("tableCtrl",['$scope','$http','$uibModal','$log' ,function ($scope, $http,$uibModal,$log) {
$scope.open = function (size,selectedUser) {
var uibModalInstance = $uibModal.open({
animation: $scope.animationsEnabled,
templateUrl: 'myModalContent.html',
controller:function($uibModalInstance ,$scope,user){
$scope.ok = function () {
$uibModalInstance.dismiss('cancel');
};
},
size: size,
resolve: {
user: function () {
return selectedUser;
}
}
});
}]);
确定的问题是:我的控件正在从HTML页面重新初始化。 确保模态控制器从一个地方开始运转
我有同样的问题。 更新angular和ui-bootstap库修复了我的问题。 使用bower更新ui-bootstrap,它建议使用它的角度版本。 希望我帮忙。
拥有控制器功能,内联和uibModalInstance对象定义内部导致了同样的问题。
升级到0.14.3后,当javascript被uglified时,uibModalInstance正在抛出未知的提供者。 使用'app.controller'定义控制器,修复了问题。
我发现当我在模板HTML中而不是在modal.open调用中定义控制器时,会出现此问题
不同版本的angular-ui / boostrap具有不同的injecter变量名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.