从零开始学习Sencha Touch MVC应用之十六
创建存储器Store
“存储类包含了一个客户端的模型对象的缓存,存储器通过代理加载数据,并且提供了针对其所包含模型实例数据的排序、过滤、查询模型实例“ (摘自Sencha Touch 文档)
针对新闻item存储器模型将在app/stores/目录下创建,并且放置在NewsItemsStore.js 的这个文件中,文件包含下面的内容:
把新创建的模型文件包含进index.html文件中, 并且放在模型models的后面.
Ext.regStore 函数被用在在存储器创立时调用,并且类似于regModel, 我们把存储器的名字和所配置的对象作为一个参数传递给它。
因为一个存储器是模型实例的集合,我们必须提前告知在其中的对象类型是什么,因此我们将设置所配置的对象的模型类型为我们所设定的NewsItem。数据的源头将被定义为代理所配置的对象。
“代理是被存储器用来进行加载和存储模型数据处理来使用的.通常开发者将不必直接和代理进行连接和交互.” (摘自Sencha Touch 官方文档)
当我们定义一个代理对象时两个属性必须要求具备:数据查询检索所请求的类型及url。对于NewsItems 存储器来说,我们将采用ajax进行更新请求并且url指向到一个JSON新闻文件 ,因此缺省的和期望的请求结果模式就是JSON格式。
因为我们希望我们的新闻尽可能的被自动的加载,我们将设置存储器的对象的自动加载属性为True.
“存储类包含了一个客户端的模型对象的缓存,存储器通过代理加载数据,并且提供了针对其所包含模型实例数据的排序、过滤、查询模型实例“ (摘自Sencha Touch 文档)
针对新闻item存储器模型将在app/stores/目录下创建,并且放置在NewsItemsStore.js 的这个文件中,文件包含下面的内容:
Ext.regStore('NewsItems', { model: 'NewsItem', proxy: { type: 'ajax', url : 'app/data/news.json', }, autoLoad: true });
把新创建的模型文件包含进index.html文件中, 并且放在模型models的后面.
<!-- MODELS --> <script src="/app/models/NewsItemModel.js" type="text/javascript"></script> <!-- STORES --> <script src="/app/stores/NewsItemsStore.js" type="text/javascript"></script>
Ext.regStore 函数被用在在存储器创立时调用,并且类似于regModel, 我们把存储器的名字和所配置的对象作为一个参数传递给它。
因为一个存储器是模型实例的集合,我们必须提前告知在其中的对象类型是什么,因此我们将设置所配置的对象的模型类型为我们所设定的NewsItem。数据的源头将被定义为代理所配置的对象。
“代理是被存储器用来进行加载和存储模型数据处理来使用的.通常开发者将不必直接和代理进行连接和交互.” (摘自Sencha Touch 官方文档)
当我们定义一个代理对象时两个属性必须要求具备:数据查询检索所请求的类型及url。对于NewsItems 存储器来说,我们将采用ajax进行更新请求并且url指向到一个JSON新闻文件 ,因此缺省的和期望的请求结果模式就是JSON格式。
因为我们希望我们的新闻尽可能的被自动的加载,我们将设置存储器的对象的自动加载属性为True.