Я хочу передать идентификатор из Tabview (myView1) в Controller(theController), а затем я хочу, чтобы этот класс Controller передал данные другому Tabview (myView2) на той же панели. У кого-нибудь есть идея, как я могу это сделать?
Sencha Touch: как передать данные из представления в контроллер и из контроллера в следующее представление
comment
привет, я считаю, что идентификаторы - это уникальные объекты представления, к которым можно получить глобальный доступ для использования по мере необходимости.
- person codebreaker   schedule 08.10.2013
comment
@Mureinik, см. ответ ниже
- person Arsalan   schedule 11.10.2013
Ответы (4)
Вы можете сделать так
в вашем контроллере:
config:{
refs:{
myView1: "myView1Ref",
myView2: "myView2Ref"
},
controls:{
myView1:{
idgiven: "onIdGiven"
}
}
},
onIdGiven: function(id){
this.getMyView2().setData(yourData);
}
в MyView1, когда вы хотите указать идентификатор, просто выполните
this.fireEvent(yourId);
person
Alytrem
schedule
08.10.2013
Это мой класс представления панели вкладок (MyTabPanel)
Ext.define('MyApp.view.MyTabPanel', {
extend: 'Ext.tab.Panel',
config: {
items: [
{
xtype: 'container',
title: 'Tab 1',
id: 'tab1',
items: [
{
xtype: 'textfield',
label: 'User'
},
{
xtype: 'container',
height: 46,
margin: '5px',
items: [
{
xtype: 'button',
ui: 'action',
width: 173,
text: 'Send Data'
}
]
}
]
},
{
xtype: 'container',
title: 'Tab 2',
id: 'tab2',
tpl: [
'{id}'
]
},
{
xtype: 'container',
title: 'Tab 3',
id: 'tab3'
}
]
}
});
person
Arsalan
schedule
11.10.2013
Это мой контроллер:
Ext.define('MyApp.controller.MyController', {
extend: 'Ext.app.Controller',
config: {
refs: {
Tab1: '#tab1',
Tab2: '#tab2',
Tab3: '#tab3'
},
control: {
"Tab2": {
activate: 'onTabpanelActivate1'
}
}
},
onTabpanelActivate1: function(newActiveItem, container, oldActiveItem, eOpts) {
var Rec = [{id:1}]; // this should come from my #tab1 tab and set to #tab2 tab
this.getTab2().setRecord(Rec); // So this is the problem I am facing
}
});
person
Arsalan
schedule
11.10.2013
Событие, хотя я хотел бы также отправить запрос Ajax - так же, как и данные JSON, которые я получаю, но я все еще не могу передать эти данные
- person Arsalan; 11.10.2013
person
schedule
Привет Ратор! Я получил ваш ответ, но не знаю, как получить значения в myView2. Пробовал использовать tpl, но записи еще не было. Можете ли вы сказать, как получить эту запись, переданную методом setRecord(). Для получения дополнительной информации я могу работать с DataListView. Но это не то, что я хочу. Заранее спасибо.
- person Arsalan; 11.10.2013