私は TabContainer クラスを持っています。このクラスは Ext.tab.Panel の拡張です。作成は正常に機能しますが、インスタンス Firebug にメッセージを送信しようとすると、次のように表示されます。
「TypeError: tbbar.canAddTab は関数ではありません」
クラスは次のとおりです。
Ext.define('KMA.view.environment.TabContainer',{
extend: 'Ext.tab.Panel',
alias: 'widget.environmenttabcontainer',
initComponent: function(){
[...]
this.callParent(arguments);
},
createTab: function(aTitle,aToolTip,anItem){
return {
title: aTitle,
itemId: aTitle + "Tag",
tabconfig: {
title: aTitle,
tooltip: aToolTip,
items: anItem
}
};
},
openTabs: function(){
return this.getItems().length;
},
maxOpenTabs: function(){
return 7;
},
canAddTab: function(){
return (this.openTabs() < this.maxOpenTabs());
},
addTab: function(aTabCfg){
this.add(aTabCfg);
}
});
私のコード例は次のとおりです。
var tbbar = Ext.ComponentQuery.query('environmenttabcontainer');
console.log(tbbar);
console.log(tbbar.canAddTab());
最初の「console.log」で、Firebugs は TabContainer のインスタンスを示し、クラスのメソッドを示します。しかし、なぜうまくいかないのですか?何か案が ?