/ / Extjs Benutzerdefiniertes Ereignis wurde zweimal ausgelöst. Event ausgelöst bei einem Select-Event-Callback - extjs, extjs5

Extjs Benutzerdefiniertes Ereignis wurde zweimal ausgelöst. Event ausgelöst bei einem Select-Event-Callback - extjs, extjs5

Ich habe eine Combobox. Dies hört "Select" -Ereignis. Ich triggert ein benutzerdefiniertes Ereignis im Select-Ereignis-Callback. Dieses Ereignis wird zweimal ausgelöst, wenn sich eine Änderung ergibt.

Ich habe ein ähnliches Kombinationsfeld, das mit demselben Controller verbunden ist, aber nur ein Ereignis wird davon ausgelöst.

Ich benutze ExtJs 5.

Hier ist mein Code.

    {
xtype: "combobox",
width: 150,
textAlign: "left",
store: {
fields: ["text", "value"],
data: [
{"text": "a", "value": "a"},
{"text": "b", "value": "b"},
]
},
allowBlank: false,
editable: false,
displayField: "text",
valueField: "value",
listeners: {
select: function (combo, records) {
console.log("comboooo ---------------- ", records[0].data.value);
this.fireEvent("custom-event", "key", records[0].data.value);
},
afterrender: function (cmp) {
cmp.setSelection(1);
}
}
}

Bearbeiten: Hier ist, was es in meiner Anwendung geht.

Ich habe einen MainViewcontroller, MainView und SubView. SubView ist eine Komponente in der Hauptansicht.

Ich habe jeweils zwei Komponenten in SubView und MainView. Ich füge die SubView hinzu, nachdem MainView hinzugefügt wurde.

Ich feuere ein benutzerdefiniertes Ereignis von "Änderung" -Ereignis einer Komponente von MainView ab. Der MainController kann dies erkennen. Dieses Ereignis ist nur einmal wie erwartet aufgetreten.

Jetzt, wenn ich das gleiche benutzerdefinierte Ereignis aus "Änderung" Ereignis einer Komponente von SubView auslösen wird dieses Ereignis zweimal ausgelöst

Antworten:

2 für die Antwort № 1

Ich habe es herausgefunden ...

Sowohl die Unteransicht als auch die Hauptansicht haben ihre Steuerungskonfiguration, die sich auf den Hauptcontroller bezieht.

Da die SubView bereits Teil der MainView ist, muss ich den Controller hier nicht erneut registrieren.

Ich habe die Controller-Konfiguration in der SubView entfernt und jetzt funktioniert es wie erwartet.

Danke für deine Zeit @weeksdev :)