为什么$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'); };
我正在尝试访问$uibModalInstance,如果我尝试注入它,我会收到注入错误.
如果我不注射它,那么它是未定义的……
解决方法
这里有很多很好的陈述,但没有一个能够解决这个问题.
amg-argh让我的plkr以我设置注射的方式工作
http://plnkr.co/edit/GXXmUosUEnEO3Tk0gUyp?p=preview
最大的魔力来自这里的编辑……
var childController = function ($scope,$uibModalInstance) { $scope.ok = function () { $uibModalInstance.close({ my: 'data' }); } $scope.cancel = function () { $uibModalInstance.dismiss(); } } self.open = function (size) { var modalInstance = $uibModal.open({ animation: self.animationsEnabled,templateUrl: 'help.html',controller: childController,size: size }); };
我还要注意,这应该在以后作为服务完成,就像icfantv指出的那样.但我需要弄清楚返回和消费模态的承诺的语法……
谢谢你们每一个人的帮助!!
干杯!