Question

J'ai décidé que je vais essayer d'apprendre Backbone.js en faisant une application web. Ceci est la première fois que j'ai rien fait de vastes en javascript, donc la réponse à mon problème peut être juste en face de mon visage.

J'ai l'application Web sur github , ainsi qu'un la version en cours d'exécution qui ne fonctionne pas. La console javascript dit simplement que quelque chose est indéfini quand je ne pense pas qu'il devrait être. Voici l'erreur que le chrome donne pour la ligne 30 de app.js:

Uncaught TypeError: Cannot read property 'el' of undefined

Je suis en quelque sorte été référencement backbone fondamentaux exemple modulaire à faire application, et il ne semble pas avoir de problèmes avec une chose similaire.

Si quelqu'un pouvait indiquer ce que je fais mal, je serais très reconnaissant!

Merci à l'avance!

Était-ce utile?

La solution

Votre point de vue de la machine rend la méthode était manquante return this et par défaut toutes les méthodes renvoyée undefined - c'est pourquoi l'enchaînement n'a pas fonctionné

Edit: et une petite astuce:

jQuery, Souligné et inscrivez-Backbone au niveau mondial - et grâce à ce que vous n'avez pas à les définir comme des dépendances à chaque fois - il suffit de si vous en avez besoin dans le script principal une fois que votre et après que vous pouvez y accéder depuis la portée mondiale comme vous le feriez normalement

Autres conseils

Dans mon cas, je rentrais this sans le mot-clé return. Comme j'utilisais javascript et non coffeescript il a échoué sur moi. Donc, si vous utilisez l'utilisation javascript return this; au lieu de simplement this dans la dernière ligne de la fonction render().

J'ai aussi eu un problème lors de l'utilisation this.collection.on('reset', this.render(), this). J'ai eu au lieu d'utiliser this.collection.on('reset', this.render.bind(this));

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top