0

SenchaTouch2でいくつかの基本的なアプリケーションを試しています。

の代わりに、senchatouchlistでjsonを読み込もうとしています。xml

私の店はこのように定義されています、

 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>

もう 1 つの問題は、そのようなストアを作成するべきではないということです。ストア配列で指定し、リストのストア ID を介して参照するか、次のようにストアを作成します。

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

また、私は余分なコンマに目を向けています...悪い余分なコンマ!autoLoad の最後にある : true

于 2012-06-28T16:47:12.857 に答える