Чтобы использовать внешний источник, используйте магазин с ajax-прокси, отметьте это http://dev.sencha.com/deploy/touch/docs/?class=Ext.data.Store.
Для отображения HTML вы можете использовать просто html: '<h1>Selected Page</h1>', styleHtmlContent:true,
вместо text:'Selected Page'
Лучшийможно загрузить объекты JSON из:
var myStore = new Ext.data.Store({
model: 'User',
proxy: {
type: 'ajax',
url : '/users.json',
reader: {
type: 'json',
root: 'users'
}
},
autoLoad: true
});
, а затем вместо свойства html или text использовать шаблон для его отображения:
tpl:[
'<h4>Email</h4>',
'<tpl for="emails">',
'<div class="field"><span class="label">{type}: </span><a href="mailto:{value}">{value}</a></div>',
'</tpl>'
]
Проверьте это руководство http://www.sencha.com/learn/a-sencha-touch-mvc-application-with-phonegap/ иAPI документы http://dev.sencha.com/deploy/touch/docs/ для получения дополнительной информации.
Обновление
К последним элементам, т.е. к подспискам, добавьте это leaf: true
, затем добавьтеобработчик fir onItemDisclosure
в список.Вы можете нажать на запись в качестве первого аргумента, передаваемого событию.Затем вы можете использовать этот объект, чтобы отобразить его на другой панели.Вы все еще можете использовать учебник, приведенный выше, просто заменив код, из которого контакты выбираются с телефона, некоторыми статическими данными.
Из этого учебника это та часть, которая вам нужна
app.views.Viewport = Ext.extend(Ext.Panel, {
fullscreen: true,
layout: 'card',
cardSwitchAnimation: 'slide',
initComponent: function() {
//put instances of cards into app.views namespace
Ext.apply(app.views, {
contactsList: new app.views.ContactsList(),
contactDetail: new app.views.ContactDetail(),
contactForm: new app.views.ContactForm()
});
//put instances of cards into viewport
Ext.apply(this, {
items: [
app.views.contactsList,
app.views.contactDetail,
app.views.contactForm
]
});
app.views.Viewport.superclass.initComponent.apply(this, arguments);
}});
Этоявляется главной панелью, в которой содержится список и панель сведений.Вы обрабатываете событие onItemDisclosure в списке, получаете запись, по которой щелкнули, обновляете панель сведений с этими данными и переключаетесь на эту панель с помощью
app.views.viewport.setActiveItem(
app.views.contactsList, options.animation
);