我进行了搜索,可以看到已经问了很多遍了,但是我什至无法弄清楚如何对数据做一个简单的console.log

我的商店:

Ext.define('AventosPlanningTool.store.Aventos', {
  extend:'Ext.data.Store',

  config:
  {
    model:'AventosPlanningTool.model.Aventos',
    proxy:
    {
      type:'ajax',
      url:'resources/json/frames.json',
      reader:
      {
        type:'json',
        rootProperty:'options'
      }
    },
    autoLoad: true
  }
});


我可以在“网络”标签中看到JSON文件正在加载。我目前无法弄清楚该怎么做。在数据存储中,我已将模型设置为AventosPlanningTool.model.Aventos,这是下面的文件。

Ext.define('AventosPlanningTool.model.Aventos', {
  extend:'Ext.data.Model',
  xtype:'AventosModel',

  config:
  {
    fields: [
      'name',
      'image'
    ]
  }
});


我的JSON现在非常简单:

 {
  "name": "Cabinet Type",
  "options": [
    {
      "name": "Face Frame",
      "image": "resources/images/aventos/frames/faceframe.png"
    },
    {
      "name": "Panel",
      "image": "resources/images/aventos/frames/panel.png"
    }
  ]
}


即使我可以对数据做console.log也会很有帮助。我不知道如何使用数据。我已经检查了文档中的两个指南:http://docs-origin.sencha.com/touch/2.2.1/#!/guide/modelshttp://docs-origin.sencha.com/touch/2.2.1/#!/guide/stores,但我无法理解

最佳答案

将负载侦听器添加到您的商店:

Ext.define('AventosPlanningTool.store.Aventos', {
    extend:'Ext.data.Store',

    config: {
        model:'AventosPlanningTool.model.Aventos',
        proxy: {
            type:'ajax',
            url:'resources/json/frames.json',
            reader: {
                type:'json',
                rootProperty:'options'
            }
        },
        autoLoad: true,

        listeners: {
            load: function(st, g, s, o, opts) {
                st.each(function(record) {
                    console.log(record.get('name') + ' - ' + record.get('image'));
                });
            }
    }
});

关于javascript - 从sencha数据存储显示JSON,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18092208/

10-09 00:29
查看更多