Frage

Ich habe beschlossen, dass ich versuchen werde, Backbone.js zu lernen, indem ich eine Web -App erstelle. Dies ist das erste Mal, dass ich in JavaScript etwas Umfangreiches gemacht habe, daher kann die Antwort auf mein Problem direkt vor meinem Gesicht liegen.

Ich habe die Web -App auf Github, zusammen mit a Auslaufversion Das funktioniert nicht. Die JavaScript -Konsole sagt nur, dass etwas undefiniert ist, wenn ich nicht denke, dass es sein sollte. Hier ist der Fehler, den Chrome für Zeile 30 von App.js gibt:

Uncaught TypeError: Cannot read property 'el' of undefined

Ich habe auf irgendwie auf die verwiesen Backbone-Fundamentals Beispiel modulare To-Do-App, und es scheint keine Probleme mit ähnlicher Sache zu haben.

Wenn jemand darauf hinweisen könnte, was ich falsch mache, wäre ich sehr dankbar!

Danke im Voraus!

War es hilfreich?

Lösung

Ihre Methode zur Rendermethode für Maschinenansicht fehlte return this Und Standardmäßig kehren alle Methoden undefiniert zurück - deshalb hat das Ketten nicht funktioniert

Bearbeiten: Und ein kleiner Tipp:

JQuery, Undercore und Backbone Registrieren Sie sich weltweit - und dank Sie müssen sie nicht jedes Mal als Abhängigkeiten definieren - es reicht aus, wenn Sie sie einmal in Ihrem Hauptskript benötigen, und danach können Sie sie aus dem globalen Bereich wie Sie normalerweise aus dem globalen Bereich zugreifen möchten

Andere Tipps

In meinem Fall kehrte ich zurück this ohne das return Stichwort. Als ich JavaScript benutzte und nicht CoffeeScript hat es mir fehlgeschlagen. Wenn Sie also JavaScript verwenden return this; statt gerecht this in der letzten Zeile der render() Funktion.

Ich hatte auch ein Problem, wenn ich benutzte this.collection.on('reset', this.render(), this). Ich musste stattdessen benutzen this.collection.on('reset', this.render.bind(this));

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top