angularjs - 从另一个控制器访问ui-bootstrap模式关闭和关闭功能

时间:2015-06-22 05:00:23

标签: angularjs angularjs-directive modal-dialog angular-ui-bootstrap

我为模态调用提供服务,如图所示。

.service('modalService', ['$modal', function ($modal) {

        var modalDefaults = {
            backdrop: 'static',
            keyboard: true,
            modalFade: true
        };

        this.showModal = function (template) {

            modalDefaults.template = template;

            modalDefaults.controller = 'modalController';
            return $modal.open(modalDefaults).result;
        };

    }])

.controller('modalController', function ($scope, $modalInstance) {
        console.log('modalController');
        $scope.ok = function () {
            $modalInstance.close('okResult');
        };
        $scope.cancel = function (result) {
            $modalInstance.dismiss('cancel');
        };
    })

我从控制器调用这个模态说'controllerA'。 用于模态的模板包含自定义drectives。 我需要在模板的自定义指令控制器的控制器中获取模态控制器功能,如$ modalInstance.dismiss和$ modalInstance.close,比如'controllerB'。

我的模板是这样的:

<custom-form></custom-form>

1 个答案:

答案 0 :(得分:0)

有两种方法可以调用另一个控制器的方法

1分享控制器

我们可以在app.controller

中使用$controller共享控制器的方法

2.Sharing rootScope

使用$rootScope

分享$ rootScope控制器