У меня ужасное время, когда я разбираюсь в архитектуре Sencha Touch 2. Я нахожу, что даже самые простые вещи, которые я делаю на другом языке и фреймворках, невероятно болезненны.
В настоящее время я просто хочу сделать стандартный вид Master/Detail. Я загружаю магазин в виде списка и хотел бы щелкнуть каждый элемент списка, чтобы перейти в подробное представление. Поскольку мой первоначальный вид списка может содержать довольно много элементов, я загружаю только немного данных с помощью этого метода в свой контроллер:
viewUserCommand: function(list, record) {
// console.log(record);
var profileStore = Ext.getStore("Profiles");
profileStore.setProxy({
url: 'http://localhost:8000/profile/' + record.data.user_id
});
profileStore.load();
// console.log(profileStore);
Ext.Viewport.animateActiveItem(Ext.getCmp('profileview'), this.slideLeftTransition);
}
Во-первых, изменение свойства url для каждого события касания кажется немного хакерским. Нет ли способа указать «this.id» или что-то в этом роде, а затем передать это в мой магазин? Или это потребует загрузки всей таблицы БД в объект?
Я могу console.log вернуть этот метод, и это именно то, что я хочу. Как заполнить подробный вид? Я пытался использовать компонент DataView, но он не показывает никаких данных. Примеры на веб-сайте sencha довольно скудны и относительно бесконтекстны. Это означает, что даже копирование и вставка их примеров, скорее всего, не удастся. (Все примеры, которые я пытался использовать Ext.modelMgr.getModel(), не увенчались успехом.)
Я знаю, что отчасти это новая структура, и я, вероятно, упускаю огромную зияющую дыру в своем понимании этого, но кто-нибудь знает?