1

我正在使用语义 ui 模式来允许用户插入数据。它有一个 onApprove 回调,如果有任何问题,您可以返回 false 以保持模式打开。我的数据被插入到数据库中,如果有任何错误,它会返回 false。如果在此异步操作期间出现错误,保持模式打开的最佳方法是什么?

这是我的代码(咖啡脚本):

$('#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 返回到函数的上下文中。将其返回到模态的最佳方法是什么?

4

1 回答 1

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);
    }
    ...
  });
};
于 2014-07-07T07:29:08.247 回答