Coffeescript 运行时基本咖啡脚本不触发事件?
我在使用CoffeeScript和Zepto.js编写一个简单的Backbone.js应用程序时遇到了实际问题 这是最简单的主干视图,但事件不会触发。控制台中也没有错误?我哪里做错了Coffeescript 运行时基本咖啡脚本不触发事件?,coffeescript,backbone.js,Coffeescript,Backbone.js,我在使用CoffeeScript和Zepto.js编写一个简单的Backbone.js应用程序时遇到了实际问题 这是最简单的主干视图,但事件不会触发。控制台中也没有错误?我哪里做错了 #Main view class AppView extends Backbone.View constructor: -> @el = $("#books") @template = _.template("<div>New Item <a href=
#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()
#主视图
类AppView扩展了主干.View
构造函数:->
@el=$(“书籍”)
@template=ux0.template(“新项目”)
活动:{
“单击”:“createNew”
}
渲染:=>
@html(@template())
createNew:->
console.log“新建”
#装载
$(文档).ready->
视图=新的AppView
view.render()
我一直在遵循我能找到的唯一一个咖啡脚本和主干的例子
但是,如果我在上面的视图代码中添加super,我会得到一个未定义的错误,他的代码不会。类
主干。view
有自己的构造函数,可以做大量的工作,您正在覆盖它,而不是调用super
。糟糕
相反,Backbone.View
提供了定义自己的构造函数类型函数的能力,该函数名为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>"
)
#主视图
类AppView扩展了主干.View
初始化:->
@el=$(“书籍”)
@template=\u0.template(
“新项目”
)
我遇到了类似的问题(事件未触发),发现问题是由于未设置@el。我认为:
@el: $("#content")
成功了。是的,你完全正确。在这个实例中应该没有理由使用构造函数或super。