请问我通过在做extjs时用json后台获取了一个数据,用store.on函数得到赋值给变量,但是怎么在函数外面得到

store.on('load',function(){animals=store.getAt(0).get('animals');alert(aa);});store.l... store.on('load',function(){
animals = store.getAt(0).get('animals');
alert(aa);
}) ;
store.load();
怎么得到animals的值在函数外面?先谢谢大哥哥大姐姐了。
还有能写个例子最好。设置个全局变量行吗??能举个例子吗?我对这个callback不怎么熟悉。谢谢,我试了一下还是不行,能举个例子吗?可能是我的理解错误。呵呵
展开
 我来答
nphccx
2011-01-28 · TA获得超过3938个赞
知道小有建树答主
回答量:1145
采纳率:0%
帮助的人:980万
展开全部
1 var ds = new Ext.data.Store({
2 proxy: new Ext.data.ScriptTagProxy({
3 url: 'yoururl.json'
4 }),
5 reader: new Ext.data.JsonReader({
6 root: 'Fields',
7 totalProperty: 'totalCount',
8 id: 'id'
9 }, [
10 ,
11
12 ])
13 });
14 var combobox = new Ext.form.ComboBox({
15 id:'combobox',
16 x:0,
17 y:20,
18 store: da,
19 displayField:'field',
20 typeAhead: false,
21 loadingText: '正在加载字段...',
22 forceSelection: false,
23 triggerAction: 'all',
24 hideTrigger:false,
25 minChars:1,
26 anchor: '100%',
27 pageSize:10
28 });

json输出
注意stcCallback1007要用程序输出请求过来的参数callback的值
stcCallback1007(,,,,,,,,]});stcCallback1007(,,,,,,,,]});stcCallback1007(,,,,,,,,]});

不好意思,看错了,以下是grid的
// create the Data Store
var singleTablestore = new Ext.data.JsonStore({
root: 'topics',
totalProperty: 'totalCount',
idProperty: 'tableid',
remoteSort: true,

fields: [
,'name','description','importdate'
],

// load using script tags for cross domain, if the data in on the same domain as
proxy: new Ext.data.ScriptTagProxy({
url: 'abc.json'
})
});

singleTablestore.setDefaultSort('date', 'desc');

var singleTable = new Ext.grid.EditorGridPanel({
id:'singleTable-panel',
layout:'anchor',
anchor:['100%','100%'],
title:'单表数据处理',
store: singleTablestore,
//trackMouseOver:false,
//disableSelection:true,
loadMask: true,
autoScroll:true,
// grid columns
columns:[{
id: 'name',
header: "数据表名称",
dataIndex: 'name',
width: 200,
sortable: true,
renderer:renderTips
},{
id: 'description', // id assigned so we can apply custom css (e.g. .x-grid-col-topic b )
header: "数据表描述",
dataIndex: 'description',
renderer:renderTips2,
editor:new Ext.form.TextField(),
width: 270,
// renderer: renderTopic,
sortable: true
},{
header: "导入日期",
dataIndex: 'importdate',
width: 150,
sortable: true
},{
id: 'tableid',
header: "操作",
dataIndex: 'tableid',
width: 450,
resizable: false,
//editor:new Ext.Button()
renderer: renderLast
//items:[new Ext.Button()]
}],
// customize view config
viewConfig: {
//forceFit:true,
enableRowBody:true,
//showPreview:true
},

// paging bar on the bottom
bbar: new Ext.PagingToolbar({
pageSize: 20,
store: singleTablestore,
displayInfo: true,
displayMsg: '当前显示 - 条,共 条',
beforePageText:'第',
afterPageText:'页,共页',
emptyMsg: "没有相应内容",
items:[
'-', {
pressed: true,
enableToggle:true,
text: 'Show Preview',
cls: 'x-btn-text-icon details',
toggleHandler: function(btn, pressed){
...
}
}]
})
});
singleTable.on('afteredit', afterEdit, this );
singleTable.on('show', function()});}, this );

function afterEdit(e) {
...
}

abc.json

stcCallback1009(,]});
sdlisilong
2011-01-28 · TA获得超过131个赞
知道答主
回答量:115
采纳率:0%
帮助的人:72.9万
展开全部
store加载时是异步加载,不一定执行完load方法就可以得到数据了,你可以store.load(params,callback),那个callback就是执行完了load以后的回调函数,你可以在callback函数里给外面的值赋值,你就不用用on添加load事件了,直接,store.load()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式