Я использую следующий код в своем приложении в качестве xtype. Мой элемент списка отображается так, как я хочу, но когда я нажимаю на элемент, у меня появляется эта ошибка каждый раз, когда я нажимаю на элемент, который должен загрузить новую страницу с данными: Uncaught TypeError: Object function () {h.apply (this , arguments)} не имеет метода setActiveItem. Любая идея, как я могу это исправить? Строки ссылочных позиций комментируются в коде.
Вот мой код:
var AppsBack = new Ext.Toolbar({
dock: 'top',
items: [{
text: 'back',
ui: 'back',
handler: function(){
Home.setActiveItem('home'); //Here is the second problem
}
}]
});
var AppsDetails = new Ext.Panel({
id: "appsdetails",
tpl: "{game}",
dockedItems: [AppsBack]
});
var AppsList = new Ext.List({
id: "appslist",
store: AppsStore,
layout: 'card',
emptyText: "No game found",
itemTpl: "{game}",
listeners: {
itemtap: function(view, index, item, e) {
var rec = view.getStore().getAt(index);
AppsDetails.update(rec.data);
AppsBack.setTitle(rec.data.game);
Home.setActiveItem('appsdetails') //Here is the first problem
}
}
});
var AppsListWrapper = new Ext.Panel({
id: "appslistwrapper",
layout: 'card',
items: [AppsList],
dockedItems: []
});
var Home = Ext.extend(Ext.Panel, {
id: "home",
iconCls: 'home',
title: 'Home',
fullscreen: true,
layout: 'card',
cardSwitchAnimation: 'slide',
initComponent: function() {
Ext.apply(this, {
items: [AppsListWrapper, AppsDetails]
});
Home.superclass.initComponent.apply(this,arguments)
}
});
Ext.reg('appsList', Home);
Спасибо за вашу помощь
После пары манипуляций я обнаружил, что единственная причина, по которой я испытываю эту проблему, заключается в том, что я пытаюсь расширить панель. Другими словами, если я использую
новая Ext.Panel
intead of
Ext.extend (Ext.Panel, {...
все работает отлично, за исключением я не могу использовать xtype в этом случае. Есть идеи?