Backbone.js は初めてです。v0.9.2 アプリで CoffeScript を使用しています。アプリは「正常に」動作initialize()
しますが、ビューのメソッドは呼び出されていません。イベントも適切にバインドされていません。なぜそうではないのかを理解しようとしています。イベントを要素にバインドする他の (手動) 方法を使用していますが、そうではありません。
アプリはこれでインスタンス化されます:
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
呼び出されないのですか?
ありがとう!