Arn*_*old 6 model-view-controller local-storage sencha-touch
我是Sencha Touch的新手,对数据处理模式仍然不太自信.我想要设置我的应用程序的方式是这样的:
通过AJAX从远程服务器检索用户的数据.
将其保存在本地存储中.任何修改(编辑,添加,删除项目)都会更新本地数据.
在某个时间点(当用户点击"同步"时,当用户退出时,或类似的东西),本地存储的存储数据再次通过请求AJAX与服务器同步.
那么,为了实现这种模式,我的应用程序的基本结构是什么?而且,虽然我们在这里,有没有办法在Sencha Touch中为指定的商店使用本地数据库(而不是本地键值存储)?
首先,Sencha.IO Sync提供您正在寻找的功能.它仍处于测试阶段,但它可能完全符合您的需求,您无需自己托管数据库:http: //www.sencha.com/products/io
对我来说,我已经构建了使用localstorage代理在本地存储数据的应用程序.这非常容易.以下是使用数据存储的几个示例:
稍后在应用程序中,我有一个AJAX调用,它将获取所有本地数据并将其发送到服务器以生成一些报告.
一旦您的商店和模型设置正确,就可以轻松地从中获取数据.例如,我有一个只有一个条目的contactInfo商店:
var myContactInfo = contactInfo.first().data;
Run Code Online (Sandbox Code Playgroud)
我有另一个名为settings的商店,它有很多条目.我可以轻松地像这样检索它们(虽然可能有更好的方法):
var settingsArr = []
settings.each(function() {
settingsArr.push(this.data);
});
Run Code Online (Sandbox Code Playgroud)
然后,我可以轻松地将其发送到服务器,如下所示:
var data = {settings: settingsArr, contactInfo: myContactInfo};
Ext.Ajax.request({
url: 'save.php',
params: {json: Ext.encode(data)},
success: function(response, opts) {
// celebrate
}
});
Run Code Online (Sandbox Code Playgroud)
与所有事情一样,一旦您了解了基础知识,就可以很好地了解示例和API:http://dev.sencha.com/deploy/touch/docs/? class = Ext.data.Store
归档时间: |
|
查看次数: |
4004 次 |
最近记录: |