【发布时间】:2012-11-13 08:07:08
【问题描述】:
我在标签面板的列表视图中有以下监听器:
listeners: {
itemtap: function (list, index, item, e) {
var record = list.getStore().getAt(index);
this.fireEvent('showListCommand', this, record);
}
这是我的控制器的配置:
config: {
refs: {
mainView: "mainview",
activeLists: "activelists",
listView: "listview"
// I deleted some code for easier reading
},
control: {
activeLists: {
showListCommand: "onShowListCommand"
}
}
},
这是 onShowListCommand 函数和它调用的函数,都在控制器中:
onShowListCommand : function (list, record) {
this.activateListView(record);
},
slideLeftTransition: { type: 'slide', direction: 'left' },
activateListView: function (record) {
var listView = this.getListView();
listView.setRecord(record);
console.log(record.get('id'));
Ext.Viewport.animateActiveItem(listView, this.slideLeftTransition);
},
控制台日志在这里按预期工作,它记录被点击的列表项的 ID。我也知道 setRecord 函数有效,它在 listView 的表单文本字段中显示模型中的标题、id 和预算字段。
现在,我在过去 10 小时里想要成功的是将这些模型字段传递给 listView 并能够在表单之外使用它们,例如在标题或 html 中.所以基本上我在选项卡面板中有一个列表,在 itemtap 上我使用 Ext.Viewport.animateActiveItem 显示另一个视图。
ListView 是“Ext.form.Panel”,它目前有一个工具栏和一个通过 initialize() 函数的字段集,但我想用一些普通的 html 替换字段集,但我不能使用来自 setRecord( ) 以任何方式。
【问题讨论】:
标签: cordova extjs sencha-touch-2