基本的CoffeeScript在运行时不会触发事件?

JMW*_*ker 3 coffeescript backbone.js

我在使用CoffeeScript和Zepto.js编写一个简单的Backbone.js应用程序时遇到了实际问题

这是最简单的Backbone视图,但事件不会触发.我在控制台中也没有出错?我哪里错了?

#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()
Run Code Online (Sandbox Code Playgroud)

我一直在关注我能找到的唯一可以找到CoffeeScript和Backbone的例子https://github.com/bnolan/Backbone-Mobile/blob/master/application.coffee

但是,如果我在上面的视图代码中添加super,我会得到一个未定义的错误,他的代码没有.

yfe*_*lum 5

这个班级Backbone.View有自己constructor的工作,你做的很多,而且你要覆盖它而不是打电话super.坏.

相反,Backbone.View您可以定义自己的构造函数类型函数initialize.在那里执行所有设置.Backbone.View#constructor会打电话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>"
    )
Run Code Online (Sandbox Code Playgroud)