Sencha-数据-Proxy(代理) (官网文档翻译25)
2012-12-27 09:56
381 查看
代理所使用的存储处理模型数据的加载和保存。有两种类型的代理:客户端和服务器。客户端代理的例子包括将数据存储在浏览器的内存和本地存储,使用HTML 5本地存储功能,当记忆体。服务器代理处理的封送处理数据到远程服务器和实例,包括AJAX,JSONP,和休息。
代理可以直接在模型上定义,像这样:
这有助于在两个方面。首先,它很可能是每家商店,使用用户模型,以同样的方式将需要加载的数据,因此,我们避免重复每家店的代理定义。第二,我们现在可以加载和保存模型数据,而无需商店:
也有利用的新功能HTML5 - 本地存储 和SessionStorage的代理。虽然旧的浏览器不支持这些新的HTML5 API,它们是非常有用,所以很多的应用将极大地受益使用它们。
直接使用代理模型的例子
代理可以直接在模型上定义,像这样:
Ext.define('User',{ extend:'Ext.data.Model', config:{ fields:['id','name','age','gender'], proxy:{ type:'rest', url :'/data/users.json', reader:{ type:'json', root:'users'}}}});// Uses the User Model's ProxyExt.create('Ext.data.Store',{ model:'User'});
这有助于在两个方面。首先,它很可能是每家商店,使用用户模型,以同样的方式将需要加载的数据,因此,我们避免重复每家店的代理定义。第二,我们现在可以加载和保存模型数据,而无需商店:
// Gives us a reference to the User classvarUser=Ext.ModelMgr.getModel('User');var ed =Ext.create('User',{ name:'Ed Spencer', age :25});// We can save Ed directly without having to add him to a Store first because we// configured a RestProxy this will automatically send a POST request to the url /users ed.save({ success:function(ed){ console.log("Saved Ed! His ID is "+ ed.getId());}});// Load User 1 and do something with it (performs a GET request to /users/1)User.load(1,{ success:function(user){ console.log("Loaded user 1: "+ user.get('name'));}});
也有利用的新功能HTML5 - 本地存储 和SessionStorage的代理。虽然旧的浏览器不支持这些新的HTML5 API,它们是非常有用,所以很多的应用将极大地受益使用它们。
直接使用代理模型的例子
相关文章推荐
- Sencha-数据-DataPackage(数据包) (官网文档翻译22)
- Sencha Touch 2 官方文档翻译之 Using Store & Using Proxy(使用数据存储和代理)
- Sencha-数据-Model(模型) (官网文档翻译23)
- Sencha-数据-Store(商店) (官网文档翻译24)
- Sencha-组件-DataView(数据视图)(官网文档翻译16)
- Sencha-概念-Environment Detection(环境检测)(官网文档翻译12)
- Sencha-命令-CMD(与Touch的结合运用)(官网文档翻译30)
- Sencha-概念-Ajax(异步JavaScript和XML)(官网文档翻译13)
- Sencha-逻辑-MVC(管理与依赖) (官网文档翻译6)
- Sencha-概念-Theme(主题切换)(官网文档翻译14)
- Sencha-命令-CMD(工作区)(官网文档翻译31)
- Sencha-逻辑-Controller(控制器)(官网文档翻译2)
- Sencha-概观-OverView(应用程序介绍)(官网文档翻译1)
- Sencha-概念-Components(组件)(官网文档翻译7)
- Sencha Touch 2 官方文档翻译之 Using Models(使用数据模型)
- Sencha-组件-Forms(表单)(官网文档翻译15)
- Sencha-包装-NativePackaging(原生包装) (官网文档翻译26)
- Sencha-命令-CMD(高级运用)(官网文档翻译32)
- Sencha-逻辑-Controller(控制器)(官网文档翻译2)
- Sencha-组件-Chart(图表)(官网文档翻译17)