如何使用 ExtJS 访问从 JsonStore 获取的值?
Posted
技术标签:
【中文标题】如何使用 ExtJS 访问从 JsonStore 获取的值?【英文标题】:How to access a value fetched from a JsonStore with ExtJS? 【发布时间】:2013-05-15 08:07:36 【问题描述】:在下面的 JS 代码中,我试图从 url 读取 json 数据:
// Create JsonStore
var storeED = new Ext.data.JsonStore(
url: './wfServlet?workd=' + workd
+ '&type=detail' + '&status=' + status +'&userName='+userName,
root: 'root',
fields: [name:'ERROR_DESC']
);
然后我想从字段ERROR_DESC
中获取值。
Ext.getCmp('errorMessage').setValue(storeED.ERROR_DESC);// want to read value
上面的代码对我不起作用。 我错过了什么?
【问题讨论】:
存储中可能有多条记录,那么你要取哪个值 你检查过你的回复是什么吗? 也使用了 extjs 版本 您使用storeED.get(0).get('ERROR_DESC')
获得第一个ERROR_DESC
可能会在商店为空时引发错误
【参考方案1】:
商店没有价值。 Stores 是 Ext.data.Model
实例的缓存,它们保存的值映射到为应用于 Store 的模型定义的字段。
要完成您想要做的事情,您需要访问商店内的模型实例,该实例包含您想要的记录数据,例如storeEd.getAt(0)
,假设您只有一个模型实例商店的缓存。
如果这是唯一的字段,并且您只希望一个实例存在于该商店中,那么甚至根本不打扰商店可能会更好。您可以向模型本身添加代理,或者只使用从常规Ext.Ajax.request
返回的值。如果您不打算在此特定用途之外使用此值,则可能不需要商店。
【讨论】:
以上是关于如何使用 ExtJS 访问从 JsonStore 获取的值?的主要内容,如果未能解决你的问题,请参考以下文章
我如何将 loadData 函数作为 Ext.data.JsonStore ExtJS3.0.0 的一部分?