我想澄清ext 4模型如何關聯以形成面板。 假設我有一個模型,例如「用戶」,它附帶了一個REST代理。ext js表單,模型和文件上傳
當我要修改用戶參數,我用表格的
loadRecord(Ext.data.Model record) : Ext.form.Basic
方法,來設置表單的字段值。
修改後,我調用「updateRecord」方法,將表單中的更改發送到加載模型,然後使用模型的「保存」方法將更改發送到服務器。這工作得很好,似乎符合Ext MVC的概念。
問題
但是,問題是:我應該如何順應MVC,萬一我需要上傳的文件,同時修改用戶的數據(例如頭像)。根據我從文檔中學到的東西,我應該切換到使用表單的「提交」方法發送更新的數據,以便服務器,包括文件。
在這種情況下,我看到幾個缺點:
- 的原始模型,加載到窗體,將不會被更新。
- 如果我更新模型(使用「updateRecord」或其他方式),模型將保持髒狀態,但是,更改已發送到服務器。
- 對於模型,應該使用相同的代理配置來形成,以便我不需要更改服務器端。
這是通過ext表單實現文件上傳的正確方法嗎? 有沒有什麼辦法可以使用model.save方法來做到這一點,MVC時尚?
大多數瀏覽器不顯示選定的文件名/路徑,我不認爲這是可能的。 – 2012-04-25 12:45:45
您不需要顯示文件/路徑 - 您需要先將文件提交到服務器。服務器將保存它並返回一些名稱(這是服務器上此文件的名稱),稍後您將在更新用戶記錄時使用該名稱。 – sha 2012-04-25 12:47:39
這是過度複雜的:發送文件,接收文件,回覆fileId,接受fileId,然後才調用model.save()。 4個新的行動來支持一個。 – 2012-04-25 13:40:52