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