【问题标题】:How to print (or alert) value from ExtJS store?如何从 ExtJS 商店打印(或警告)值?
【发布时间】:2017-06-06 17:11:19
【问题描述】:

我正在尝试从 ExtJS 存储中获取一个值以在变量中使用它。我尝试使用 console.log 打印它,按照 StackOverflow 和 Sencha 论坛上回答的其他问题的说明,但没有成功。我在第一次尝试时收到此错误消息:

无法读取未定义的属性“数据”

这是我第二次尝试的消息:

myView 未定义

其中“myView”是当前窗口的类名。

这是我的商店代码:

myStore = this.store = new Ext.data.JsonStore({
                proxy:new Ext.data.ScriptTagProxy({
                    url: "php/data.php"
                }),
            root: 'result',
            autoLoad: false,
            fields: [
                {name:'ID',type:'string',mapping:'ID'},
                {name:'NAME',type:'string',mapping:'NAME'}

            ]
        });

这是我尝试从商店获取值的方式:

第一次尝试:

var vId = myStore.data.items[0].data.ID;
console.log(vId);

第二次尝试:

store.storeDadosSol.load(function(){
                this.each(function(record){
                var vId = record.get('ID');
                // Do stuff with value
                console.log(vId);
                });
            });​

我正在关注这些答案:

Sencha Forum

StackOverflow Question

有什么想法吗?我正在使用 ExtJS 版本 3.2.1

【问题讨论】:

  • 您将在 store.load 回调中找到商店记录,如 sencha docs docs.sencha.com/extjs/6.2.0/classic/… 中所述
  • 为您的商店添加加载事件,然后打印。
  • 感谢@fen1ksss,我使用了回调函数,它成功了!

标签: javascript extjs extjs3


【解决方案1】:

您的 myStore 声明使用

myStore = this.store =

当您尝试从商店访问值时,您是否在同一范围内? myStore 是全局变量吗?

【讨论】:

  • 是的。但我发现这个加载函数使用的是在 store.load 之后加载的参数。我只是把要在页面加载时发送的参数变量就解决了问题。
猜你喜欢
  • 1970-01-01
  • 2011-11-18
  • 2011-12-01
  • 2013-05-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多