未知提供者:$ uibModalProvider< - $ uibModal< - modalPopDirective

时间:2017-06-19 15:33:23

标签: javascript angularjs

我正在使用Angular的$ uibModal并尝试在加载页面时创建弹出窗口。它不起作用。我认为指令中的问题。这是我的代码:

angular.module('myModule', ['ui.bootstrap'])
    .directive('modalPop', ModalDirective)
    .controller('ModalController', ModalController);



function ModalDirective($uibModal) {
    return {
        scope: {},
        restrict: 'E',
        templateUrl: 'directives/modal/tutorial.html',
        controller: function () {
            return $uibModal.open({
                controller: 'ModalController',
                windowClass: 'outside ' + size,
                animation: true,
                templateUrl: './client/dialogs/' + template + '.html',
                resolve: {
                    dialogParams: function () {
                        return {
                            title: 'title',
                            message: 'message'
                        };
                    }
                }
            });

        }
    };
}

function ModalController($uibModalInstance) {
    $scope.close = function () {
        $uibModalInstance.dismiss();
    };  
}

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:2)

您没有将提供程序注入指令的控制器。还要尝试将提供程序明确地注入指令:

ModalDirective.$inject = ['$uibModal'];
function ModalDirective($uibModal) {
    return {
        scope: {},
        restrict: 'E',
        templateUrl: 'directives/modal/tutorial.html',
        controller: function ($uibModal) {
            return $uibModal.open({
                controller: 'ModalController',
                windowClass: 'outside ' + size,
                animation: true,
                templateUrl: './client/dialogs/' + template + '.html',
                resolve: {
                    dialogParams: function () {
                        return {
                            title: 'title',
                            message: 'message'
                        };
                    }
                }
            });

        }
    };
}

如果这不起作用,那么你没有正确地包含Angular UI Bootstrap的JS文件。 (这很可能是原因)