Как повторно использовать контент с Sencha Touch - PullRequest
1 голос
/ 24 февраля 2012

Я хочу создать мобильный сайт в Сенче, который отображает HTML-контент на планшетном устройстве, содержащий множество объектов / подразделений / контейнеров с аналогичными макетами и свойствами.

Возьмите этот пример окна:

enter image description here

Есть ли передовая практика или рекомендуемый способ достижения повторного использования и СУХОГО для написания этих контейнеров в Sencha Touch 2?

Какие типы объектов вы бы использовали? Имеет ли смысл использовать HTML div объекты + CSS?

Также имеет ли смысл использовать Сенчу в этом случае?

Ответы [ 2 ]

5 голосов
/ 25 февраля 2012

Вот как вы могли бы добиться этого макета, используя Sencha Touch:

layout

К сожалению, это довольно сложно объяснить, но, надеюсь, это имеет смысл.

Я также создал очень простой пример этого макета, который можно просмотреть здесь: http://www.senchafiddle.com/#jxiA8 (обязательно нажмите Выполнить ).

Что касаетсякакие объекты / компоненты;все они будут Ext.Containers .В идеале вы должны использовать структуру MVC для создания пользовательских классов (которые будут расширять Ext.Container) для каждого из этих элементов.для Сенча Touch.Он отлично подходит для создания таких многофункциональных приложений.

1 голос
/ 26 февраля 2012

Наилучший подход к визуализации списка элементов в оранжевом и желтом контейнерах, вероятно, с DataView.

Полагаясь на itemTpl для рисования каждого элемента в соответствии с официальной документацией Ext.dataview.DataView компонента или с использованием средства визуализации элементов, в соответствии с погружением в статью dataview (Обратите внимание, что код в этой статье может не работать как sencha, так как он сильно изменился между различными бета-версиями - связанная с @ rdougan демонстрация на github может быть более новой).

Я расширил код макета, предоставленный @rdougan, чтобы добавить пример того, как реализовать Повторно используемые представления данных (gist).

Этот демонстрационный код также содержит быстро запеченное решение для внедрения данных (applyStore и injectStore), так что можно определить «OrangeContainer» один раз и только один раз и передать различные данные для «выделенного» и «списка» версии представлений вверху и внизу экрана соответственно. Я понятия не имею, является ли это хорошим или надежным способом сделать это. Я был бы заинтересован в обратной связи по этому вопросу.

...