在Sencha中无法使用“this.ownerCt.setActiveItem ...”返回上一个面板

时间:2011-10-19 13:29:03

标签: sencha-touch

我很难理解为什么我不能回到我申请中的上一个面板。足够的谈话,一些代码

appsDetails = Ext.extend(Ext.Panel, {
layout: 'fit',
scroll: 'verticall',

initComponent: function() {

    this.dockedItems = [{
        xtype: 'toolbar',
        items: [{
            ui: 'back',
            scope: 'this',
            handler: function() {

                console.log(this.ownerCt) //This returns "undefined"

                this.ownerCt.setActiveItem(this.prevCard, {
                    type: 'slide',
                    reverse: true,
                    scope: this,
                    after: function() {
                        this.destroy();
                    }
                })
            }
        }]
    }];

    this.items = [{
        styleHtmlContent: true,
        tpl: description,
        data: this.record.data
    }];

    appsDetails.superclass.initComponent.call(this);
}
});

我通过在上一个面板

中使用以下代码来实现上述观点
selection: function(list, index) {

if (index[0] !== undefined) {
    var details = new appsDetails({
        homeCard: this.appsPanel,
        record: index[0],
    });

    this.setActiveItem(details, {type: 'slide', direction: 'left'})
}
}

我没有问题到达所需的面板,但我不能回到前一个面板。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您正在传递值为'this'的字符串对象。更改此行:scope:'this'

中的scope:this