Angular $ uibmodal关闭并提交

时间:2017-05-26 23:42:56

标签: angularjs angular-ui-bootstrap

您好我是angularjs的新手,正在探索$ uibmodal的功能。我能够获得$ uibmodal.open来操作,但是出现了一个我不明白的错误。我的$ uibmodal.close目前无法运行,当我使用$ uibmodal.submit时,它不会添加到我当前的数组,而是重置页面。如果有人能给我一个提示,以获得适当的功能,这将是伟大的。谢谢。 Here is my Github repository

2 个答案:

答案 0 :(得分:1)

首先是如何使用此网站。一个人应该能够在不去外部资源的情况下理解这个问题。链接到github repo很棒,但你也需要在这里发布代码。主要是因为回购可能会改变,这个问题对任何人有什么好处呢?

其次,我不确定是否存在$ uibModal.submit()这样的事情,所以你必须告诉我们你从哪里得到它。但我猜你是在触发类似表单提交的东西,默认情况下重新加载页面;在角度你几乎不想重新加载页面。

接下来是:

modal.close = function () {
    $uibModal.close(/* Something missing here */ );
};

如果你想让模态影响模态之外的任何东西,你可能想要在这里返回一些东西。从文档:结果必须以这种格式传递: {$value: myResult}

最后:

var mobalInstance = $uibModal.open({
    templateUrl : '/templates/modals.html',
    controller: 'ModalCtrl',
    controllerAs: 'modal'
});

这很好,并且都用于生成模态实例,但是您还需要一些东西来处理响应(它在关闭时返回的值)。在modalInstance.result中,您会找到一个承诺,这意味着您可以使用.then(successHandler, errorHandler)访问它。当模态关闭时,它会被调用。例如(来自文档):

modalInstance.result.then(function (selectedItem) {
    $ctrl.selected = selectedItem;
}, function () {
    $log.info('Modal dismissed at: ' + new Date());
});

此处selectedItem是从模态返回的值,而$ctrl.selected是控制器中打开模态的属性。

答案 1 :(得分:0)

您也可以尝试使用此

    modalInstance.close('resetModel');