Sencha Architect не может перейти к представлению списка из DataView OnItemTap

Может кто-нибудь, пожалуйста, дайте мне знать, что я делаю неправильно в следующем коде? Когда я когда-либо нажимаю на элемент просмотра данных, я получаю сообщение об ошибке:

 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"
    });
}

 });

person msrameshp    schedule 27.02.2014    source источник
comment
Может ли кто-нибудь помочь мне здесь? Я тут как-то застрял :(.   -  person msrameshp    schedule 28.02.2014


Ответы (1)


Я наконец-то понял. Обработка события 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"
    });
}
person msrameshp    schedule 28.02.2014