我正在使用semantic-ui模式来允许用户插入数据。它有一个onApprove回调,允许你返回false,以便在出现任何问题时保持模态打开。我的数据被插入到DB中,如果出现任何错误,则返回false。如果在异步操作期间出现错误,保持模态打开的最佳方法是什么?
这是我的代码(coffeescript):
$('#verification-modal')
.modal('setting', {
detachable: false,
onApprove: validateVerificationForm
closable: false
})
validateVerificationForm = () ->
formData = $('.form').serializeArray()
formatted = format($formData);
ID_Details.insert(formatted, (errs, id) ->
if errs
false
else
true
显然,匿名函数将true / false返回到函数的上下文中。什么是将其恢复到模态的最佳方法?
答案 0 :(得分:0)
您可以使用本地反应变量:
var data = new ReactiveDict();
Template.modalTemplate.created = function() {
data.set('isError', false);
};
Template.modalTemplate.helpers({
isError: function() {
return data.get('isError');
},
});
var yourMethodWithAsync = function() {
...
async(..., function(error) {
if(error) {
data.set('isError', true);
}
...
});
};