0

我想澄清一下 ext 4 模型如何与表格相关联。假设我有一个模型,例如“用户”,它附加了一个 REST 代理。

当我想修改用户参数时,我使用表单的

loadRecord( Ext.data.Model record ) : Ext.form.Basic 

方法,设置表单的字段值。

修改后,我调用“updateRecord”方法,将更改从表单发送到加载的模型,然后使用模型的“保存”方法,将更改发送到服务器。这工作得很好,并且似乎符合 Ext MVC 概念。

问题

但是,问题是:我应该如何符合MVC,以防我需要上传文件,同时修改用户的数据(例如头像)。根据我从文档中了解到的信息,我应该切换到使用表单的“提交”方法向服务器发送更新的数据,包括文件。

在这种情况下,我看到了几个缺点:

  • 加载到表单中的原始模型将不会更新。
  • 如果我更新模型(使用“updateRecord”或其他方式),模型将保持脏状态,但是,更改已经发送到服务器。
  • 应该将相同的代理配置应用于表单,至于模型,这样我就不需要更改服务器端。

这是通过 ext 表单实现文件上传的正确方法吗?有没有办法使用 model.save 方法来做到这一点,更 MVC 风格?

4

1 回答 1

0

我不认为你可以将两件事结合在一起。文件上传总是与提交其余数据不同。但是,您可以做什么:

  • 有一个按钮来选择和上传文件到服务器。但是不要将文件保存到保存用户的同一个地方(例如,您可以有单独的文件存储并且只将文件名保存到用户记录中)

  • 当向服务器发送用户记录更新时,发送新的文件名。这样您的头像更新和其他数据更新将在同一个事务中。

于 2012-04-25T12:05:42.807 回答