Невозможно вернуться к предыдущей панели, используя "this.ownerCt.setActiveItem ..." в Сенче - PullRequest
0 голосов
/ 19 октября 2011

Мне очень трудно понять, почему я не могу вернуться к предыдущей панели в моем приложении. Хватит разговоров, немного кода

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 голосов
/ 19 октября 2011

Вы передаете строковый объект со значением 'this'.Измените эту строку: scope:'this' in scope:this

...