Basic CoffeeScript pas de tir des événements lorsqu'il est exécuté?
-
14-10-2019 - |
Question
Je vais avoir de réels problèmes d'écriture d'une application simple en utilisant Backbone.js CoffeeScript et Zepto.js
Ceci est la vue Backbone simple mais les événements ne se déclenchent pas. Je reçois aucune erreur dans la console soit? Où vais-je tort?
#Main view
class AppView extends Backbone.View
constructor: ->
@el = $("#books")
@template = _.template("<div>New Item <a href='' id='addNew'> add new item</a></div>")
events: {
"click" : "createNew"
}
render: =>
@el.html(@template())
createNew : ->
console.log "new"
#Onload
$(document).ready ->
view = new AppView
view.render()
J'ai suivi le seul exemple que je peux trouver des CoffeeScript et Backbone ensemble
La solution La Au lieu de cela, Backbone.View
classe a sa propre constructor
qui fait beaucoup de travail, et vous prépondérants et de ne pas appeler super
. Bad. Backbone.View
vous offre la possibilité de définir votre propre fonction de type constructeur appelé initialize
. Effectuez tous là votre configuration. Backbone.View#constructor
appellera initialize
. #Main view
class AppView extends Backbone.View
initialize: ->
@el = $("#books")
@template = _.template(
"<div>New Item <a href='' id='addNew'> add new item</a></div>"
)
Autres conseils
J'ai eu un problème similaire (événements non mise à feu) et a constaté que le problème était dû à ne pas mettre @el. Je mets que:
@el: $("#content")
et cela a fonctionné.