2013-12-17 91 views
1

舊的dojo.data API有一個isDirty函數來查詢商店或選定商品是否存在未保存的更改。我在ItemFileWriteStore中使用了這個。dojo商店isDirty

新的(自1.7)dojo/store API似乎沒有這個。我正在查看Memory和JsonREST商店。

有沒有簡單的方法來添加此功能,或者它是一個寫/混入你自己的?

回答

1

沒有必要在新API中包含這些功能。 dojo/storedojo/data API更抽象,因爲沒有用於異步保存/髒檢查的API。

dojo/data寫入API旨在與調用save()時應更新的服務結合使用。由於本地和遠程版本之間可能存在差異,因此他們必須添加一個功能,如isDirty()來驗證。

新的dojo/store API沒有用於異步保存的API。您提到的商店不使用異步保存,因此它們沒有這種功能。

  1. 道場/存儲/內存是在內存中存儲,那麼這背後的商店中沒有的服務,所以它保存到一個服務是你將要在這裏實現,沒有必要有一個save()isDirty()功能。
  2. dojo/store/JsonRest立即將本地更改推送到此商店後面的RESTful Web服務。這意味着沒有尚未保存的髒對象。因此,這裏不需要有save()isDirty()功能。

如果你真的需要一個異步保存,你必須創建自己的商店,你可以用自己的save()isDirty() API擴展。

我認爲舊的API是指定的(該API僅對某些商店有效),這就是爲什麼我認爲他們把它遺漏了。但是沒有人阻止你創建自己的附加API。