繁体   English   中英

未知提供者:$ uibModalInstanceProvider - Bootstrap UI模式

[英]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变量名称。

查看angular-ui / bootstrap示例。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM