2017-05-26 113 views
0

你好我是新来的angularjs和我正在探索$ uibmodal的功能。我能够得到$ uibmodal.open来操作,但是发生了一个我不明白的错误。我的$ uibmodal.close目前不起作用,当我使用$ uibmodal.submit时,而不是添加到我当前的数组中,它会重置页面。如果任何人都可以给我一个提示,以获得适当的功能,那将是非常棒的。谢谢。 Here is my Github repository

回答

0

您也可以尝试用此

modalInstance.close('resetModel'); 
2

首先是如何使用本网站。一个人应该能够理解这个问题,而不必去外部来源。链接到github回购很好,但你也需要在这里发布代码。主要是因为回购很可能会改变,这个问题对任何人都有什么好处?其次,我不确定是否存在$ 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是在开模态控制器的特性。

+0

有我的代码以及其他问题。我认为有一个'ModalController'和一个'ModalInstanceController'令人困惑,至少可以说。注意他们使用'modaldemocontroller'的angular.ui演示。这意味着你最好把它称为“PageCtrl”或“SomesectionCtrl”或使用你的RoomCtrl。 – ippi

+0

感谢您的输入。这是来自学校的任务,我现在已经停留了大约3周。项目中有很多不同的部分,我不知道如何将所有这些部分结合在一起,而无需链接到项目的分支。我从来没有使用过所有这些移动部件,所以下次我应该将所有文件链接到页面上?我不知道是要把这个项目联系起来,还是只是为了解决问题,因为我想确保人们会看到我想要做的事情。 –

+0

添加您认为相关的内容,如果有人提问,请添加更多内容。祝你的项目好运! – ippi