1

目标:在 Ajax 验证调用返回之前阻止 UI。带有一些对话或消息。

问题:以 Spine/MVC 方式,我应该如何附加并删除当前视图顶部的 HTML 内容?

半生不熟的解决方案:在 Controller-> 绑定模型 ajaxSuccess 函数以删除消息 HTML,并在保存模型对象时附加“正在加载”消息。

有任何想法吗,?

谢谢。

4

1 回答 1

1

快速回答:你应该尽量避免它。这对用户来说很烦人,并且违背了 spin.js 的核心理念。

http://spinejs.com/docs/introduction

核心价值:

[...]

异步接口——太多的 JavaScript 应用程序和框架没有充分利用客户端渲染的力量。最终用户不关心对服务器的后台请求是否处于挂起状态,并且不希望看到加载消息和微调器。用户想要畅通无阻的界面和即时交互。为了实现这一点,Spine 在客户端存储和呈现所有内容,与服务器异步通信。

我了解有时无法避免阻塞。在这些情况下,我会遵循这种模式:

在控制器中:

  1. 添加阻塞覆盖html
  2. 调用异步但需要阻塞的模型方法
  3. 等待模型发出一个表明动作完成的事件,例如。validationDone

在模型中:

  1. 像往常一样写异步方法
  2. 在成功和错误处理程序中,发出validationDone事件
于 2012-08-20T14:41:23.773 回答