¿Modelo Backbone.js no definido a la vista?
-
27-10-2019 - |
Pregunta
He decidido que voy a intentar aprender Backbone.js haciendo una aplicación web. Esta es la primera vez que hago algo extenso en JavaScript, por lo que la respuesta a mi problema puede estar justo en frente de mi cara.
Tengo la aplicación web en github, junto con un Versión en ejecución Eso no funciona. La consola JavaScript solo dice que algo está indefinido cuando no creo que debería serlo. Aquí está el error que Chrome da para la línea 30 de App.js:
Uncaught TypeError: Cannot read property 'el' of undefined
He estado haciendo referencia a la fondos de la troncal Ejemplo de la aplicación modular de tareas pendientes, y no parece tener ningún problema con algo similar.
Si alguien pudiera señalar lo que estoy haciendo mal, ¡estaría muy agradecido!
¡Gracias por adelantado!
Solución
Faltaba su método de render de vista a la máquina return this
Y, por defecto, todos los métodos regresan indefinidos, es por eso que el encadenamiento no funcionó
Editar: y un pequeño consejo:
JQuery, subrayado y registro de la columna vertebral a nivel mundial, y gracias a eso no tiene que definirlas como dependencias cada vez: es suficiente si los necesita en su script principal una y después de eso, puede acceder al alcance global, ya que normalmente usted normalmente haría
Otros consejos
En mi caso estaba volviendo this
sin el return
palabra clave. Como estaba usando JavaScript y no Coffeescript, me falló. Entonces, si está utilizando el uso de JavaScript return this;
en lugar de solo this
en la última línea del render()
función.
También tuve un problema al usar this.collection.on('reset', this.render(), this)
. En cambio tuve que usar this.collection.on('reset', this.render.bind(this));