如何从Ext.data.Store获取价值?

陳同學*_*陳同學 8 extjs

这是我的代码

var store = {
    user_store: new Ext.data.Store({
        autoLoad: false,
        proxy: new Ext.data.HttpProxy({
            url: 'a/b/c',
        }),
        remoteSort: true,
        baseParams: {

        },
        reader: new Ext.data.JsonReader({
            totalProperty: 'total',
            root: 'root',
            fields: ['roles']
        })
    })
};
store.user_store.load();?
Run Code Online (Sandbox Code Playgroud)

这是我的json

{"roles":"2"}
Run Code Online (Sandbox Code Playgroud)

我想问一下.如何获得角色的值为"2".

(PS:对不起,我的英语不是很好.)

Car*_*arl 12

如果响应中只有一个项目,则可以向load方法添加回调函数:

var store = {
    user_store: new Ext.data.Store({
        autoLoad: false,
        proxy: new Ext.data.HttpProxy({
            url: 'a/b/c',
        }),
        remoteSort: true,
        baseParams: {

        },
        reader: new Ext.data.JsonReader({
            totalProperty: 'total',
            root: 'root',
            fields: ['roles']
        })
    })
};
store.user_store.load(function(){
    this.getAt(0).get('roles')
});?
Run Code Online (Sandbox Code Playgroud)

如果响应包含以下几个项目:[{"roles":"2"},{"roles":"1"}] 您可以迭代存储以检索所有值.

store.user_store.load(function(){
    this.each(function(record){
       var roles = record.get('roles');
       // Do stuff with value
    });
});?
Run Code Online (Sandbox Code Playgroud)

  • .first()不包括在3.4中.请尝试store.getAt(0). (2认同)