【问题标题】:returning uibmodal result to parent controller将 uibmodal 结果返回给父控制器
【发布时间】:2016-12-08 05:42:25
【问题描述】:

这是我的模态 JS:

function modalInstance() {
        var ctrlr = function($scope,$uibModalInstance,inName) {
            var init = function() {
                $scope.modalTmpStep = {
                    pos: 0,
                    body: ''
                };
                $scope.cancelStep = cancelStep;
                $scope.submitStep = saveStep;
            };

            function cancelStep() {
                console.log('closing');
                $uibModalInstance.dismiss('dismissed');
            }
            function saveStep() {
                var submitVar = JSON.stringify($scope.modalTmpStep)
                console.log('submitting')
                $uibModalInstance.close(submitVar);
            }

            init()
        };

        var modalInstance = $uibModal.open({
            animation: true,
            templateUrl: 'main/add/stepModal/addModal.html',
            controller: ctrlr,
            size: 'lg',
            backdrop: 'static'
        });

        modalInstance.result.then(function() {
            console.log();
        })

    }

这段代码的最终目标是在父页面的某处打印对象“submitVar”,该对象可以是字符串或 JSON。问题中的所有变量都在 HTML 中使用 ng-model 进行更改。我不知道如何将此值传递回父控制器,需要一些帮助。

当前行 console.log('submitting') 运行,但我不知道 submitVar 结果放在哪里。我打算将其用作编辑窗口,因此传入一个对象,然后对其进行编辑并传回,从而更改当前值。

我正在使用:https://angular-ui.github.io/bootstrap/ 作为参考,找不到任何其他文档。

【问题讨论】:

    标签: javascript angularjs bootstrap-modal


    【解决方案1】:

    modalInstance 对象的result.then 内部,您可以在关闭modalInstance 时获得返回值

    modalInstance.result.then(function(submitVar) {
        console.log("sumbited value inside parent controller", submitVar);
    })
    

    【讨论】:

    • 谢谢!现在似乎有人告诉我了。
    猜你喜欢
    • 2018-11-15
    • 1970-01-01
    • 2016-05-04
    • 1970-01-01
    • 2017-08-08
    • 2015-11-12
    • 1970-01-01
    • 2020-01-08
    • 1970-01-01
    相关资源
    最近更新 更多