篱笆墙的影子

导航

JsonStore与JsonReader的配置参数

 

首先看下面一段ext代码,能发现问题吗?

View Code
 1 var store=new Ext.data.JsonStore({
2 proxy:new Ext.data.HttpProxy({
3 url: 'data.json'
4 }),
5 reader:new Ext.data.JsonReader({
6 root: 'dataSet',
7 fields: [
8 {name: 'company'},
9 {name: 'price', type: 'float'},
10 {name: 'change', type: 'float'},
11 {name: 'pctChange', type: 'float'},
12 {name: 'lastChange', type: 'date', dateFormat: 'n/j h:ia'}
13 ]
14 })
15
16 });

初看没什么问题,可数据死活不显示,后来才发现JsonStore没有reader的配置选项,它的默认reader就是JsonReader,API说“该类也可以接受所有JsonReader的配置选项 ”那么它主要配置哪些参数呢?

fields:  要么是一个Field对象定义数组(将会被传递给 Ext.data.Record.create),或者是一个使用 Ext.data.Record.create 创建的 Record 构造函数。

下面的5个配置参数主要是告诉ext怎么处理json,从json的哪个节点拿数据

root 它代表json数据的根节点

idProperty  标识符,默认为id

totalProperty  默认为 total,标示json数据条数的节点。

successProperty  默认为success

messageProperty  后台反馈给前台的消息的节点

所以要解决上面的问题,把reader里的两参数提取到JsonStore的配置参数即可,或者将JsonStore改成Store,Ext.data.Store

 

 我们再来看看JsonStore里的配置参数

proxy  Ext.data.DataProxy 提供对数据对象的访问

url  如果没有指定 proxy ,此url将会被用来隐含配置一个 HttpProxy 。 典型情况下要么指定此选项,要么指定 data 选项。

data Array一个内嵌的数据对象,可以被 reader 读取。 典型情况下,

上面3个参数必须配置其中一个

autoLoad  默认为false,如果没有指定 data 参数,并且 autoLoad参数为 true或者是一个对象(Object), store的 load 方法将会在创建之后自动被调用。 如果autoLoad的值是一个对象(Object), 此对象将会被传递给store的 load 方法

autoDestroy 如果此参数为true,当绑定此store的组件被销毁之后此store也会被销毁 (默认为 false)。 当store被仅仅绑定到一个组件时,应该把此参数设置成true。

listeners 有什么beforeload load......

先写些常用的 以后再举例说明

posted on 2012-03-28 22:30  篱笆墙的影子  阅读(705)  评论(0编辑  收藏  举报