如何从 ExtJS 商店打印(或警告)值?

Posted

技术标签:

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

我正在尝试从 ExtJS 存储中获取一个值以在变量中使用它。我尝试使用 console.log 打印它,按照 *** 和 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

*** Question

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

【问题讨论】:

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

您的 myStore 声明使用

myStore = this.store =

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

【讨论】:

是的。但我发现这个加载函数使用的是在 store.load 之后加载的参数。我只是把要在页面加载时发送的参数变量就解决了问题。

以上是关于如何从 ExtJS 商店打印(或警告)值?的主要内容,如果未能解决你的问题,请参考以下文章

ExtJs - 如何通过 id 从商店获取价值?

加载商店后如何在网格中设置值? EXTJS3

如何删除商店extjs中的重复值

Extjs:如何从控制器设置额外参数以在商店中用于填充组合框值。想要将额外参数值设置为 abc.1-cond1、abc.2-con2

Extjs 4.1 - 如何将数据从商店加载到另一个商店

Extjs:加载商店时更改参数值