私はかなり長い間、表示するリストを取得しようとしています。さまざまな人からのあらゆる種類のヒントを試しましたが、成功しませんでした。今、私は新しい問題に直面しています。例から正確なコードを取得しましたが、それを機能させることもできません。まず、コードはこちらです。
Station.js
Ext.define('Syl.model.Station', {
extend: 'Ext.data.Model',
config: {
fields: [
{ name: 'id', type: 'string' },
{ name: 'stop', type: 'string' }
]
}
});
Stations.js
Ext.define('Syl.store.Stations', {
extend : 'Ext.data.Store',
requires: ['Syl.model.Station'],
id: 'stations',
xtype: 'stations',
config : {
model : 'Syl.model.Station',
autoLoad : true,
data: [
{ "id": "129", "stop": "NY Station" },
{ "id": "13", "stop": "Newark Station" }
]
}
});
MyService.js
Ext.define('Syl.view.MyService', {
extend: 'Ext.Panel',
xtype: 'stationsformPage',
requires: [
'Syl.store.Stations',
'Ext.form.FieldSet',
'Ext.field.Password',
'Ext.SegmentedButton',
'Ext.List'
],
config: {
fullscreen: true,
layout: 'vbox',
items: [
{
docked: 'top',
xtype: 'toolbar',
title: 'My Service'
},
{
[OLDER CODE BEGIN]
xtype: 'list',
title: 'Stations',
//store: 'Stations',
store: stationStore, //UPDATED
styleHtmlContent: true,
itemTpl: '<div><strong>{stop}</strong> {id}</div>'
[OLDER CODE END]
[UPDATE X2 CODE BEGIN]
xtype: 'container',
layout: 'fit',
flex: 10,
items: [{
xtype: 'list',
title: 'Stations',
width: '100%',
height: '100%',
store: stationStore,
styleHtmlContent: true,
itemTpl: '<div><strong>{stop}</strong> {id}</div>'
}]
[UPDATE X2 CODE END]
},
]
}
});
app.js (基本まで編集)
var stationStore; //UPDATED
Ext.application({
name: 'Syl',
views: ['MyService'],
store: ['Stations'],
model: ['Station'],
launch: function() {
stationStore = Ext.create('Syl.store.Stations');//UPDATED
var mainPanel = Ext.Viewport.add(Ext.create('Syl.view.MyService'));
},
});
さて、ブラウザでこれを実行すると、「[WARN][Ext.dataview.List#applyStore] 指定されたストアが見つかりません」というエラーが表示されます。アプリは実行されますが、リストはありません。このコードが、私ではなく例を示した人々にとってどのように機能するか理解できません。Sencha Touch 版の違いでしょうか?私は2.0.1.1を使用しています。
これに加えて、リストが表示されないという一般的な問題が発生しています。私はもともと、店舗さえも持たずに、必要最小限のリストを試していました。リストの設定で data プロパティを設定しようとしました。このエラーは発生しませんでしたが、表示するリストも取得できませんでした。そのため、他の人のコードを試してみようと思いました。少なくとも作業リストを作成して実行できれば、それを操作して自分のやりたいことを実行できると考えました。
どんな助けでも大歓迎です。ありがとう。
[更新] さて、さらに調査を行ったところ、ストアの定義ではなく、ストアのインスタンスをリストにロードする必要があると誰かに言われました。ご覧のとおりコードを更新したところ、エラーはなくなりました。問題は、まだリストを取得できないことです。エラーはまったくありませんが、リストが表示されません。データを正しくロードしていませんか? または、リストをビューに正しく配置していませんか?
[X2 を更新] わかりました。リストはコンテナーに入れ、幅と高さを指定する必要があることを学びました。これが正しいかどうかは完全にはわかりませんが、上下にドラッグできるリストができました。問題は、まだ何も入っていないことです。誰でも理由がわかりますか?