任何人都可以通过以下代码告诉我我的错误吗?当我点击dataview项时,我收到错误:
Uncaught TypeError: Object [object Object] has no method 'getMainView' app.js:69888
我的代码如下:
Ext.define('DTZMobility.view.DashboardView', {
extend: 'Ext.dataview.DataView',
alias: 'widget.dashboardView',
requires: [
'Ext.XTemplate'
],
config: {
baseCls: 'rd-tiled-view',
fullscreen: true,
scrollable: 'vertical',
itemCls: 'rd-tiled-view-item',
store: 'moduleStore',
itemTpl: [
'<div>{name}</div>'
],
listeners: [
{
fn: 'onDataviewItemTap',
event: 'itemtap'
}
]
},
onDataviewItemTap: function(dataview, index, target, record, e, eOpts) {
var workorderlist = Ext.create('widget.workorderlist'), // Create work order list View
mainView = this.getMainView(); // Main view
console.log("Created mainview");
// Navigate to Sign In Panel
mainView.push({
xtype: "workorderlist",
title: "Work Orders"
});
}
});
答案 0 :(得分:0)
我终于明白了。 itemtap事件的事件处理应如下所示:
onDataviewItemTap: function(dataview, index, target, record, e, eOpts) {
var workorderlist = Ext.create('widget.workorderlist');
var c = Ext.getCmp('mainView');
if(c === undefined) {
c = Ext.create('DTZMobility.view.MainView');
}
Ext.Viewport.animateActiveItem(c, {type:'slide'});
// Push the workorder list to the mainview
c.push({
xtype: "workorderlist",
title: "Work Orders"
});
}