最近、Sencha Touch 2.0 を使い始めました。XML データの読み取りに問題があります。ダウンロードに付属する基本的な「はじめに」アプリから始めましたが、正常に動作しています。つまり、セットアップが正しく行われています。単純な XML を読み取るためにいくつかの変更を加えましたが、画面にデータが表示されません。以下は私のコードです。これで私を助けてください。- ここに app.js ファイルの内容があります -
Ext.Loader.setPath({
'Ext': 'lib/touch/src'
});
Ext.define('User', {
extend: 'Ext.data.Model',
config: {
fields: ['id', 'name', 'email']
}
});
var mystore = Ext.create('Ext.data.Store', {
model: 'User',
autoLoad: true,
proxy: {
type: 'ajax',
url : 'userData.xml',
reader: {
type: 'xml',
rootProperty: 'users',
record: 'user'
}
}
});
Ext.application({
name: 'Sencha',
launch: function() {
//The whole app UI lives in this tab panel
Ext.Viewport.add({
xtype: 'tabpanel',
fullscreen: true,
tabBarPosition: 'bottom',
items: [
// This is the home page, just some simple html
{
title: 'Home',
iconCls: 'home',
cls: 'home',
scrollable: true,
html: [
'<img height=260 src="http://staging.sencha.com/img/sencha.png" />',
'<h1>Welcome to Sencha Touch</h1>',
"<p>Building the Getting Started app</p>",
'<h2>Sencha Touch (2.0.0)</h2>'
].join("")
},
{
xtype: 'list',
title: 'Events',
iconCls: 'star',
itemTpl: '{id}',
store: mystore
}
]
});
}
});
XML は、この app.js ファイルと同じ場所にあります。サーバーをインストールしていないことに注意してください。app.js に変更を加えて、Chrome ブラウザで「index.html」を開きます。
ここに XML があります。これは、Sencha Docs で提供されているものと同じです。
<?xml version="1.0" encoding="UTF-8"?>
<users>
<user>
<id>112</id>
<name>Ed Spencer</name>
<email>ed@sencha.com</email>
</user>
<user>
<id>248</id>
<name>Abe Elias</name>
<email>abe@sencha.com</email>
</user>
</users>
変更後の私のコードは次のとおりです-
Ext.Loader.setPath({
'Ext': 'lib/touch/src'
});
Ext.regModel('Personal', {
fields : [
'id',
{name: 'name', type: 'string'},
{name: 'email', type: 'string'}
]
});
Ext.application({
name: 'Sencha',
launch: function() {
//The whole app UI lives in this tab panel
Ext.Viewport.add({
xtype: 'tabpanel',
fullscreen: true,
tabBarPosition: 'bottom',
items: [
// This is the home page, just some simple html
{
xtype : 'selectfield',
name : 'user',
label : 'Users',
store : new Ext.data.Store({
model : 'Personal',
autoLoad : true,
proxy : {
type : 'ajax',
url : 'userData.xml',
reader : {
type : 'xml',
root : 'users'
}
}
}),
valueField : 'name',
displayField : 'name'
}
]
});
}
});