Я использую Sencha Touch для мобильного приложения и использую в нем функции MVC. Мне очень нравится Sencha, но у меня небольшие проблемы, когда речь идет о передаче данных с одного экрана на другой с помощью контроллера.
Здесь есть свойство "record", связанное с рядом виджетов Sencha - например, указав текущую выбранную запись в Ext.list, и по какой-то причине я не могу понять, как передать что-то как от Ext.Panel до другого.
Например, у меня есть Ext.Panel с данными в нем из Ext.Store, включая адрес. У меня есть еще одна Ext.Panel, которая покажет карту. Мне нужно передать этот адрес на панель карты, но я не уверен, как это сделать. Вот что я пытаюсь с первой панели:
listeners: {
'tap': function () {
Ext.dispatch({
controller: app.controllers.establishments,
action: 'showMap',
id: record.getId(),
data: record.data
});
}
Я немного пошатываюсь, как вы можете видеть, пытаясь использовать опцию конфигурации "id" и "data" в контроллере, пытаясь получить данные на панели карты любыми средствами.
Мне не обязательно нужен ответ на эту конкретную проблему, но если у вас есть предложения о том, как это сделать в целом - в основном, лучшие практики для передачи данных с одного экрана на другой.
Если это помогает, я основываю свою структуру приложения на хорошем учебнике MVC мистера Пирса в Sencha:
http://www.sencha.com/learn/Tutorial:A_Sencha_Touch_MVC_application_with_PhoneGap
Спасибо большое!