我有一个简单的Sencha App,它有一个主视图。该视图扩展了Ext.navigation.View
,以便当用户选择列表中的项目时,我可以“推送”到新视图。这是通过设置一个监听器然后在MainView对象上调用push函数来实现的。
但是,我在将数据传输到该视图时遇到问题。我尝试使用 this StackOverflow question 的答案,但它没有用。
在该答案中,它建议您使用record
函数的itemTap()
参数,但这将返回为空对象。
为什么record
作为空对象返回?
也许我会以错误的方式解决这个问题?
就我而言,我有一个“品牌”列表,每个品牌都有标题,图片和描述。我想在滑入的面板中使用它。
我的应用的启动功能,可以为视口创建视图和广告
launch: function() {
// Destroy the #appLoadingIndicator element
Ext.fly('appLoadingIndicator').destroy();
// Create instance of the main view so we can use it's functions
SenchaTest.MainView = Ext.create('SenchaTest.view.Main');
// Initialize the main view
Ext.Viewport.add(SenchaTest.MainView);
},
以下是我的观点
Ext.define('SenchaTest.view.Main', {
extend: 'Ext.navigation.View',
xtype: 'main',
requires: [
'Ext.TitleBar',
'Ext.Video',
'Ext.carousel.Carousel',
'Ext.Img'
],
config: {
fullscreen: true,
items: [
{
title: 'Test',
layout: {
type: 'vbox',
align: 'stretch'
},
items: [{
xtype: 'highlightscarousel',
flex: 0.35
}, {
xtype: 'list',
displayField: 'title',
flex: 0.65,
store: Ext.create('SenchaTest.store.Brands'),
itemTpl: '<img src="{image}" class="listThumb"><h1 class="listTitle">{name}</h1><span class="clearFloat"></span>',
listeners: {
itemtap: function(nestedList, list, index, element, post, record) {
}
}
}]
}
]
}
});
答案 0 :(得分:0)
基于Sencha Touch文档,itemtap监听器的签名是:
(this, index, target, record, e, eOpts)
你正在使用:
(nestedList, list, index, element, post, record)
这可能就是为什么记录是一个空对象。如果不是这样,你可以发布一个JSFiddle或问题的某种工作示例吗?