我是Backbone.js的新手。我在v0.9.2应用程序上使用CoffeScript。该应用程序工作“很好”,但视图的initialize()
方法没有被调用。事件也没有被正确绑定。我想弄明白为什么事实并非如此。我正在使用其他(手动)方式将事件绑定到元素,但事实并非如此。骨干0.9.2视图初始化不叫
的应用程序实例化本:
window.Site =
Models: {}
Collections: {}
Views: {}
Routers: {}
init: ->
new Site.Routers.MyRouter()
Backbone.history.start()
$(document).ready ->
Site.init()
路由器:
class Site.Routers.MyRouter extends Backbone.Router
routes:
'': 'index'
initialize: ->
# some code here (this IS being called)
index: =>
# this is also being called since I am trying mysite.com/
view = new Site.Views.MyView()
$('#someId').html(view.render().el)
的观点:
class Site.Views.MyView extends Backbone.View
template: JST['views/index']
events:
'click .someElement': 'someMethod'
inititalize: ->
console.log "hello" # NOT CALLED
_.bindAll @
@
render: =>
# draw stuff (this works)
@
的观点被绘制精细。为什么initialize
不被调用?
谢谢!
好玩过@CaseyFoster。打的好。 +1 – EBarr
哦,这个男孩这么尴尬!我很高兴我实际上从应用程序中复制/粘贴了代码并在问题中进行了编辑,否则这种情况从未出现过!因为我复制/粘贴到其他视图的第一个视图这个错误开始爬行进入我的应用程序...感叹...我发誓我一直在寻找这样的代码这么久... – mga
哈哈哈,我太需要了Stackoverflow有我的拼写更正:) – nordhagen