我试图创建一个Dojox.app,它从服务器读取数据一次,然后在应用程序的生命周期中根据需要查询数据。 “dojo/store/JsonRest”将获取数据,“dojo/store/Memory”将用作缓存存储库。 创建缓存的过程对于正常的dojo网页来说很简单。使用config.json文件设置Dojox.app缓存存储
require(["dojo/store/JsonRest", "dojo/store/Memory", "dojo/store/Cache", "dojo/store/Observable"], function(JsonRest, Memory, Cache, Observable){ masterStore = new JsonRest({ target: "/Inventory/" }); cacheStore = new Memory({}); inventoryStore = new Cache(masterStore, cacheStore);
然而,对于一个Dojox.app config.json文件用于设置各种MVC组件,包括数据存储。
JSON文件的存储和模型部分可能类似于
"stores": {
"restStore":{
"type": "dojo/store/JsonRest",
"observable": true,
"params": {
"target": "/s/server/nowShowing.pl",
"idProperty": "filmNo"
}
},
"memoryStore": {
"type": "dojo/store/Memory",
"observable": true,
"params": {
"idProperty": "filmNo"
}
},
"filmStore": {
"type": "dojo/store/Cache",
"params": {
"masterStore": {"$ref":"#stores.restStore"},
"cachingStore": {"$ref":"#stores.memoryStore"},
"idProperty": "filmNo",
}
}
},
"models": {
"store": {
"modelLoader": "dojox/app/utils/mvcModel",
"type": "dojox/mvc/StoreRefController",
"params":{
"store": {"$ref":"#stores.filmStore"},
"query": {}
}
}
},
我知道,缓存存储是一个包装,而不是一个真正的商店。我也知道有一种方法可以通过config.json文件配置一个dojo存储缓存,但我一直无法知道如何去做。谷歌先生没有答案,道场测试也没有出现。
MVC模型通过每个视图类的loadedStores和loadedModels参数为应用程序提供了广泛的数据访问。
感谢您的。我重新阅读[dojox.app](https://dojotoolkit.org/reference-guide/1.10/dojox/app.html)和[参考指南](https://dojotoolkitkit/documentation/tutorials/1.9/dojox_app/contactsList /)页面,看看我是否错过了相关的东西。我没有。我已经做了大量的dojo参考和API文档的阅读,但一直无法弄清楚如何使用配置的配置来使用dojo/store/cache从JsonRest存储中填充内存存储。json文件。这感觉应该是dojo/app MVC会做的事情。以上面的filmStore为例。 – nsharrok