Domanda

Ho deciso che proverò a imparare backbone.js creando un'app Web.Questa è la prima volta che faccio qualcosa di approfondito in Javascript, quindi la risposta al mio problema potrebbe essere proprio davanti ai miei occhi.

Ho l'app Web attiva github, insieme ad a versione funzionante questo non funziona.La console JavaScript dice semplicemente che qualcosa non è definito quando non penso che dovrebbe esserlo.Ecco l'errore fornito da Chrome per la riga 30 di app.js:

Uncaught TypeError: Cannot read property 'el' of undefined

Ho fatto riferimento a fondamentali della spina dorsale esempio di app modulare per le cose da fare e non sembra avere problemi con una cosa simile.

Se qualcuno potesse farmi notare cosa sto facendo di sbagliato, gli sarei molto grato!

Grazie in anticipo!

È stato utile?

Soluzione

Mancava il metodo di rendering della vista macchina return this E per impostazione predefinita tutti i metodi restituiscono indefiniti - ecco perché il concatenamento non ha funzionato

EDIT: e un piccolo suggerimento:

JQuery, sottoline e spina dorsale si registrano a livello globale - e grazie a ciò non devi definirli come dipendenze ogni volta - è sufficiente se li hai bisogno nella tua sceneggiatura principale una volta e dopo puoi accedervi dall'ambito globale come normalmente voluto

Altri suggerimenti

Nel mio caso stavo tornando this senza il return parola chiave.Dato che stavo usando Javascript e non CoffeeScript, non mi è riuscito.Quindi, se stai usando Javascript, usa return this; invece che solo this nell'ultima riga del render() funzione.

Ho avuto anche un problema durante l'utilizzo this.collection.on('reset', this.render(), this).Ho invece dovuto usare this.collection.on('reset', this.render.bind(this));

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top