$ uibModalInstance undefined(AngularJS UI.Bootstrap)

Ren*_*eld 5 modal-dialog angularjs angular-ui-bootstrap

为什么$ uibModalInstance无法注入此处?

http://plnkr.co/edit/mi9Ytv0HaqE47ENod4Gn?p=preview

baseController.$inject = ['$uibModal', '$uibModalInstance'];

function baseController($uibModal, $uibModalInstance) {

self.ok = function () {
$uibModalInstance.close(self.selected.item);
};

self.cancel = function () {
$uibModalInstance.dismiss('cancel');
};
Run Code Online (Sandbox Code Playgroud)

我正在尝试访问$ uibModalInstance,如果我尝试注入它,我会收到注入错误.

如果我不注射它,那么它是未定义的......

icf*_*ntv 1

我怀疑您的代码失败的原因是因为您试图将模态实例注入到控制器中,该控制器的职责是创建模态。它无法注入它,因为它还不存在。尝试使用单独的控制器:一个用于打开模式,另一个用于处理模式内容。您可以在我们的模态示例的 Javascript 部分中看到这样的示例

老实说,我以前从未见过以这种方式注入的依赖项。你这样做有解决什么问题吗?您不只是使用的任何原因:

angular.module(...).controller('MyController', ['dep1', dep2', ..., MyControllerFunction]);
function MyControllerFunction(dep1, dep2) {...}
Run Code Online (Sandbox Code Playgroud)