Kann nicht erstellen Sie eine Instanz der unbekannte alias: widget.[object object]
Ich habe versucht, fügen Sie eine benutzerdefinierte Klasse in einer meiner Ansichten, aber wenn ich die Anwendung ausführen, bekomme ich eine Fehlermeldung in der console log "kann Nicht erstellen Sie eine Instanz der unbekannte alias: widget.[object object]". Mein code ist wie folgt:
SubCategoryListView.js
Ext.define('RestaurantGlobal.view.SubCategoryListView',{
extend: 'Ext.List',
xtype: 'SubCategoryListView',
requires: ['RestaurantGlobal.store.ItemColumnsStore'],
config:{
items:[
{
xtype: Ext.create('Ext.List', {
fullscreen: true,
items: [{
xtype: 'toolbar',
docked: 'top',
ui: 'neutral',
items: [
{
text:'Veg',
align :'center',
handler: function () {
var sto = Ext.create('RestaurantGlobal.store.ItemColumnsStore');
//clear all existing filters
sto.clearFilter();
sto.filter('Info2', 'False');
}
},
{
text:'Non-Veg',
align :'center',
handler: function () {
var sto = Ext.create('RestaurantGlobal.store.ItemColumnsStore');
//clear all existing filters
sto.clearFilter();
sto.filter('Info2', 'True');
}
},
],
store: 'RestaurantGlobal.store.ItemColumnsStore',
itemTpl: ['{Name} {Image}']
}],
}),
}
]
}
});
SubCategories.js
Ext.define('RestaurantGlobal.view.SubCategories', {
extend: 'Ext.Panel',
requires : ['RestaurantGlobal.view.SubCategoryListView'],
config: {
styleHtmlCls: 'maincontainer',
styleHtmlContent: true,
layout: {
type: 'vbox'
},
items: [
{
xtype: 'titlebar',
flex: 0.5,
docked: 'top',
title: 'Category Name'
},
{
xtype: 'SubCategoryListView',
},
{
xtype: 'container',
items: [
{
xtype: 'button',
docked: 'bottom',
margin: '0 0 0 0',
text: 'Place Order'
}
]
}
]
}
});
Mir bitte helfen in dieser Hinsicht. Auch, gibt es eine Möglichkeit, filter zu einem einzigen zu speichern, um Sie anzuzeigen in 2 tabs im gleichen tabpanel?
Ich bin nicht mit tab-panel in diesem Fall.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Schuldige ist:
xtype
muss ein string sein.Können Sie theoritically setzen Sie ein component-Instanz direkt in die
items
:Aber im Rahmen der definition einer Klasse, die würde wirklich krank werden, inspiriert, weil dieses derselben Komponente Instanz wäre von jeder Instanz aus, die Sie erstellen für Ihre Klasse. Die meisten wahrscheinlich, was eine Menge Probleme...
In Fall, dass Sie wirklich müssen, erstellen Sie die Instanz der Komponente selbst, denn Sie können nicht einfach erklären, seine Konfiguration, tun Sie es durch überschreiben der
initComponent
- Methode, und erstellen Sie Ihre Komponente in es. DieinitComponent
Methode aufgerufen wird, werden für jede neue Instanz der Klasse, so dass jeder eine eigene Instanz der Kind-Komponente (sorry, ich weiß, das macht viel aus Wiederholungen des Wortes "instance").Sowieso, es scheint, dass das, was Sie wirklich versuchen zu tun ist, einfach das überschreiben der list-Klasse:
Das problem ist, dass Sie verwendet xtype in der Klasse definition, aber es könnte sein alias:
dann können Sie diese Klasse verwenden, um erstellen Sie eine Liste in diesem Fall durch:
als Sie erwartet haben.