Javascript Ext JS 4.0提供;“非传统的”;将数据转换为图表

Javascript Ext JS 4.0提供;“非传统的”;将数据转换为图表,javascript,sencha-touch,extjs4,extjs,Javascript,Sencha Touch,Extjs4,Extjs,我有一个存储区,它总是包含一条记录。假设记录如下所示: {'good': 5, 'bad': 2, 'neutral': 3} 我该如何将其视为一个整体?Ext.js通常使用存储中的每条记录作为系列的一个点。在我的例子中,我只有一条记录,希望它作为系列中的三个点使用。将其拆分为三条记录。您可以创建自己的记录实例,并使用原始记录作为源来填充数据。将其拆分为三条记录。您可以创建自己的记录实例,并使用原始记录作为源用数据填充它们。您有两个可用选项。您可以创建一个自定义的Ext.data.reader

我有一个存储区,它总是包含一条记录。假设记录如下所示:

{'good': 5, 'bad': 2, 'neutral': 3}

我该如何将其视为一个整体?Ext.js通常使用存储中的每条记录作为系列的一个点。在我的例子中,我只有一条记录,希望它作为系列中的三个点使用。

将其拆分为三条记录。您可以创建自己的记录实例,并使用原始记录作为源来填充数据。

将其拆分为三条记录。您可以创建自己的记录实例,并使用原始记录作为源用数据填充它们。

您有两个可用选项。您可以创建一个自定义的
Ext.data.reader.reader
子类,该子类将原始数据转换为格式化记录,您可以覆盖存储的
loadRawData
方法,将JSON数据转换为
Ext.data.ResultSet
,或者,您可以在商店的
load
方法上设置回调以获取记录,并手动将其转换为必要的记录格式。如果你想实现可重用性,我建议制作一个阅读器


Reader#readRecords
方法获取原始数据并返回一个结果集,它听起来与您所追求的完全一样。看看Sencha docs网站上的源代码,你应该能够找到从那里开始的方向。一旦您拥有了自定义阅读器,在配置期间将其传递给商店的代理,它将为您处理这项工作。如果不是自动的,您可能需要调用store
loadRawData
,传递JSON响应。

您可以选择几个选项。您可以创建一个自定义的
Ext.data.reader.reader
子类,该子类将原始数据转换为格式化记录,您可以覆盖存储的
loadRawData
方法,将JSON数据转换为
Ext.data.ResultSet
,或者,您可以在商店的
load
方法上设置回调以获取记录,并手动将其转换为必要的记录格式。如果你想实现可重用性,我建议制作一个阅读器


Reader#readRecords
方法获取原始数据并返回一个结果集,它听起来与您所追求的完全一样。看看Sencha docs网站上的源代码,你应该能够找到从那里开始的方向。一旦您拥有了自定义阅读器,在配置期间将其传递给商店的代理,它将为您处理这项工作。如果不是自动的,您可能需要调用store
loadRawData
,传递JSON响应。

因此我需要为这个图表创建一个额外的存储。在原始商店的加载中,我会创建记录并将它们放入“新”商店?听起来很可笑,这就是我的想法。荒唐的我不明白为什么。当然,修改图表类以使用非标准数据需要做更多的工作。我已经实现了它,它可以工作了。不过,我对这个解决方案不满意。为一件非常琐碎的事情编写了大量代码。让我们看看有人想出了更漂亮的东西。所以我需要为这个饼图创建一个额外的存储。在原始商店的加载中,我会创建记录并将它们放入“新”商店?听起来很可笑,这就是我的想法。荒唐的我不明白为什么。当然,修改图表类以使用非标准数据需要做更多的工作。我已经实现了它,它可以工作了。不过,我对这个解决方案不满意。为一件非常琐碎的事情编写了大量代码。让我们看看是否有人想出了更漂亮的东西。