$uibModalInstance undefined(AngularJS UI.Bootstrap)

前端之家收集整理的这篇文章主要介绍了$uibModalInstance undefined(AngularJS 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');
};

我正在尝试访问$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指出的那样.但我需要弄清楚返回和消费模态的承诺的语法……

谢谢你们每一个人的帮助!!

干杯!

猜你在找的Angularjs相关文章