这有点奇怪。当我在线搜索这个问题时,我看到很多页面的Google结果和SO解决方案,但没有一个似乎不起作用!
简而言之,我试图实现AngularUI Bootstrap Modal。我不断收到以下错误:
Error: [$injector:unpr] Unknown provider: $uibModalInstanceProvider <- $uibModalInstance <- addEntryCtrl
这是我的HTML:
- <nav class="navbar navbar-default">
- <div class="container">
- <span class="nav-col" ng-controller="navCtrl" style="text-align:right">
- <a class="btn pill" ng-click="open()" aria-hidden="true">Add New</a>
- </span>
- </div>
- </nav>
这是我的控制器:
- var app = angular.module('nav',['ui.bootstrap']);
- app.controller('navCtrl',['$scope','$uibModal',function($scope,$uibModal) {
- $scope.open = function() {
- var uibModalInstance = $uibModal.open({
- animation: true,templateUrl: 'addEntry/addEntry.html',controller: 'addEntryCtrl',});
- };
- }]);
最后,这是我的模式代码:
我试过的解决方案
>更新Angular Bootstrap(版本:0.14.3)和Angular(v1.4.8)
>将uibmodalInstance更改为modalInstance
>将$ uibModalInstance更改为modalInstance
把我的addEntryCtrl放在我的ModalInstance里面
有什么想法吗?这已经把我推开了近2天了。
*编辑*
我应该注意两件事情:
1)当我从addEntry中删除$ uibModalInstance作为依赖关系时,我的HTML表单提交按钮工作正常,表单看起来完美。即使重定向发生正确(提交时)。问题依然存在:模态仍然保留在屏幕上,抛出$ uibModalInstance未定义的错误。这是有道理的,因为我删除它作为依赖,但我显然仍然需要模态是接近提交。
2)另外,我的应用程序的另一部分几乎有相同的代码。唯一的区别是它通过工厂工作。否则,代码是相同的。因此,我相信我的依赖是所有的,版本是正确的。所以。吓坏。奇怪。
谢谢!