Wie man ein element in einer Ansicht aus einem Controller?
Bin ich mit Sencha Touch 2,0,1.
Ich brauche, um ein element aus einer Ansicht in einen Controller.
Im moment nutze ich diese Methode, die die Ansicht korrekt, aber ich bin nicht in der Lage, um das Element in der Ansicht. Ich bekomme keine Fehlermeldung, einfach mal testen ist nicht definiert.
Irgendwelche Ideen?
In der Steuerung:
var test = this.getDetailView().items['editButton'];
Code in der Ansicht:
Ext.define('XXX.view.DetailView',{
...
items: [
{
xtype: 'button',
text: 'Edit XXX',
ui: 'custom-btn-dwn-timetable',
itemId: 'editButton'
}
],
...
}
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie Ext.ComponentQuery in diesem Fall, um Ihre Schaltfläche:
Gibt es ein paar andere Möglichkeiten, um den Verweis auf die Bearbeiten-Schaltfläche. Sie Draht können die Schaltfläche Bearbeiten, als ref wie diese:
Dann in deinem controller aufrufen können Sie die automatisch erzeugten getter
this.getEditButton()
zu Holen Sie sich die aktuellen edit-button-Komponente.Andere Sache, die Sie tun können, ist, speichern Sie die edit-Taste, wie eine Instanz-variable auf Ihre Ansicht wie diese:
So, jetzt, um Zugriff auf Ihre Schaltfläche in der Steuerung, die Sie zu tun haben:
this.getDetailView().editButton
Im Allgemeinen, wenn ein element ist etwas, das Sie Zugriff auf eine Menge, die Sie haben sollte eine Referenz gespeichert, anstatt die Abfrage des DOM (um zu vermeiden, unnötige Leistungseinbußen). Mit Ext.getCmp() ist auch langsamer durch die Durchführung stack (es muss auch durch die ComponentManager jedes mal nur um den Verweis).
Könnten Sie versuchen Sie, Ihren button id
edit
und dann