首页 > 解决方案 > 从另一个控制器调用子控制器

问题描述

我有一个带有添加和编辑模式的应用程序,当单击编辑或添加时;它打开了一个模式。我的问题是:我想要一个打开模态的函数,只需调用它,这个函数我想在根范围内定义它,当我这样做时,我在解析函数中有一个错误。

DefaultModule.controller("navCtrl", function ($scope, $rootScope, $uibModal) {       
    $rootScope.OpenModal = function (templateModalUrl, controllerModal, resolveFun) {
        $uibModal.open({
            animation: true,
            templateUrl: templateModalUrl,
            controller: controllerModal,
            resolve: {
                resolveFun
            }
        }).result.catch(function (res) {
            if (!(res === 'cancel' || res === 'escape key press')) {
                //throw res;
            }
        });
    }
});

调用它:

$scope.editBusiness = function (business) {
    var ObjResolve = function () {
        return business;
    }
    $rootScope.OpenModal("BusinessTypesModal.html", "ModalInstanceCtrl", ObjResolve);
};

和我得到的错误:

错误:$injector:unpr 未知提供者 未知提供者:ObjResolveProvider <- ObjResolve <- ModalInstanceCtrl

PS模态的模板是在另一个控制器中定义的-不是navCtrl控制器-

标签: javascriptangularjs

解决方案


推荐阅读