错误:[$injector:unp]未知提供程序:modalInstanceProvider<-模式实例<-

Error: [$injector:unpr] Unknown provider: modalInstanceProvider <- modalInstance <- modalCtrl with the latest ui bootstrap

本文关键字:lt modalInstanceProvider 实例 模式 程序 injector unp 错误 未知      更新时间:2023-09-26

EDIT-正如下面的代码所示,模态可以工作-我的问题是我在模态的HTML模板中包含了ng应用程序和ng控制器,但它们不包含在下面的问题中。

我有我的主控制器,模式控制器和我的模式模板HTML

一切似乎都很正常,我一辈子都无法弄清楚(或从stackoverflow那里找到)为什么我总是出现Error: [$injector:unpr] Unknown provider: modalInstanceProvider <- modalInstance <- modalCtrl错误。BTW $modal现在是去复杂化的,现在是$ubiModal

主控制:

var module = angular.module("app", ["agGrid", "ngAnimate", "ngSanitize", "ngDialog", "ui.bootstrap"])
module.controller("mainCtrl", ["$scope", "dataService", "$timeout", "dateFilter", "ngDialog", "$http", "$uibModal", function ($scope, dataService, $timeout, dateFilter, ngDialog, $http, $uibModal) {
$scope.open = function () {
    var uibModalInstance= $uibModal.open({
        templateUrl: "views/Modal.html",
        controller: "modalCtrl",
        show: true,
    })
};
}]);

我的模态控制器:

module.controller("modalCtrl", ["$scope", "ngDialog", "dataService", "$uibModalInstance", function ($scope, ngDialog, dataService, $uibModalInstance) {
//do stuff
}]);

和我的HTML模板:

 <div id="loginModal" class="modal show" tabindex="-1" role="dialog" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" ng-click="closeThisDialog(); printArray()" class="close" data-dismiss="modal" aria-hidden="true">×</button>
                    <h1 class="text-center" style="text-align: center">Entities:</h1>
                </div>
                <div class="modal-body">
                    <div>
                        <div>
                            <input type="text" placeholder="Search" ng-model="entity">
                        </div>
                    </div>
                    <div ng-repeat="entity in entityArray | filter:entity">
                        <label>
                            <input style="float: left; margin-top: 5px" type="checkbox" ng-model="entityChecked" ng-change="getEntityFromModal(entity, entityChecked)" />
                            <span>{{entity}}</span>
                        </label>
                    </div>
                </div>
                <button ng-click="okButtonEntity();" >OK</button>
            </div>
        </div>
    </div>

$modalInstance已更改(不推荐使用)为$uibModalInstance,并带有最新的ui引导程序(0.14.3)。此外,它应该是$modalInstance(带有旧版本)。

module.controller("modalCtrl", ["$scope", "ngDialog", "dataService", "$uibModalInstance", 
                        function ($scope, ngDialog, dataService, $uibModalInstance) {

文档

控制器-一个模态实例的控制器-它可以初始化模态使用的范围。接受形式为"SomeCtrl as myctrl"的"controller as"语法;可以用$uibModalInstance 注入