modèle Backbone.js ne définit pas vue?
-
27-10-2019 - |
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!
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));