0

我正在 Sencha Touch 2 上尝试一些基本的应用程序。

而不是json,我正在尝试阅读xml煎茶触摸列表中的 an 。

我的商店是这样定义的,

 Ext.define('MyApp.store.ListStore', {
    extend: 'Ext.data.Store',

    config: {
        fields: ['id','name','email'],
        proxy: {
           type: 'jsonp',
           url: 'users.xml',
           reader: {
              type: 'xml',
              record: 'user',
              rootProperty: 'users'
           }
        },
        autoLoad:true,
    }
});

我的xml文件位于我的商店所在的同一个地方。

 <?xml version="1.0" encoding="UTF-8"?>
<users>
    <user>
        <id>1</id>
        <name>Ed Spencer</name>
        <email>ed@sencha.com</email>
    </user>
    <user>
        <id>2</id>
        <name>Abe Elias</name>
        <email>abe@sencha.com</email>
    </user>
</users>

我的列表视图是这样的,

var listStore = Ext.create('MyApp.store.DStore');

Ext.define('MyApp.view.NavigateView', {
    extend: 'Ext.navigation.View',
    xtype: 'navigateview',

    requires: [
        'MyApp.store.ListStore'
    ],
    config: {
        fullscreen: true,
        scrollable: true,

        items: [
            {
                  xtype: 'list',
                  title: 'List',
                  id: 'datalist',
                  onItemDisclosure: true,
                  store: listStore,
                  itemTpl: '<div class="contact">{name}</div>',
            }
         ]
     }
});

但没有显示 o/p。

我在哪里做错了?请建议!

4

1 回答 1

0

情侣问题。您的 XML 无效,它需要像

<?xml version="1.0" encoding="UTF-8"?>
<users>
    <user>
        <id>1</id>
        <name>Ed Spencer</name>
        <email>ed@sencha.com</email>
    </user>
    <user>
        <id>2</id>
        <name>Abe Elias</name>
        <email>abe@sencha.com</email>
    </user>
</users>

另一个问题是你不应该这样创建你的商店。在 stores 数组中指定它并通过列表中的商店 id 引用它,或者创建如下商店:

store : {
    xclass : 'MyApp.store.ListStore'
}

另外,我注意额外的逗号......糟糕的额外逗号!它在 autoLoad 的末尾:true

于 2012-06-28T16:47:12.857 回答