var search = {
form: $('search-form'),
input: this.form.find('.search-input'), // 'this' undefined
callback: function(){
console.log(this.form) // 'this' not undefined
}
}
Hilf mir bitte! Sorry, mein Englisch ist nicht sehr gut, aber ich werde versuchen, mein Problem zu erklären. Ich kann kein Eingabeelement innerhalb der Form des aktuellen Objekts auswählen, da this.form
nicht definiert ist. Warum ist es undefiniert?Wie bezieht man sich auf 'this' im Objekteigenschaftswert?
Was ist in diesem Code falsch?
input: this.form.find('.search-input')
Und wie könnte ich den obigen Code korrigieren?
Das Objekt existiert nicht zum Zeitpunkt der Definition und kann daher nicht zugeordnet werden. Ein Getter könnte eine Lösung sein oder einfach '$ (' search-form ') '' schreiben. – Teemu
Das 'this' würde sich auf den Kontext beziehen, der das' search' Objekt enthält. Nicht das Objekt selbst. Verfügen Sie über eine Factory-Methode zum Erstellen dieser Objekte? Sie könnten dann "Eingabe" einstellen? – ste2425
Zeigen Sie, wie Sie 'Eingabe' -Eigenschaft verwenden – Maxx