dojo商店isDirty

时间:2013-12-17 01:35:30

标签: dojo

旧的dojo.data API有一个isDirty函数来查询商店或所选项目是否有未保存的更改。我在ItemFileWriteStore中使用了它。

新的(自1.7)dojo / store API似乎没有这个。我正在看Memory和JsonREST商店。

是否有一种简单的方法可以添加此功能,还是您自己编写/混合?

1 个答案:

答案 0 :(得分:1)

新API中无需使用这些功能。 dojo/storedojo/data API更抽象,因为没有用于异步保存/脏检查的API。

dojo/data写入API旨在与应在调用save()时更新的服务结合使用。由于本地版本和远程版本之间可能存在差异,因此必须添加isDirty()之类的函数来验证。

新的dojo/store API没有用于异步保存的API。你提到的商店也没有使用异步保存,所以它们没有这样的功能。

  1. dojo / store / Memory 是一个内存存储器,这个商店后面没有服务,因此将它保存到服务是你必须在这里实现的,没有必要save()isDirty()功能。
  2. dojo / store / JsonRest 会立即将本地更改推送到此商店后面的RESTful Web服务。这意味着没有尚未保存的脏对象。因此,此处无需save()isDirty()功能。

  3. 如果您确实需要异步保存,则必须创建自己的商店,您可以使用自己的save()isDirty() API进行扩展。

    我认为旧的API是指定的(API仅对某些商店有效),这就是为什么我认为他们将其排除在外。但没有人阻止你创建自己的额外API。