Backbone.js に setInterval を組み込む
スクリプト
sample.view.coffee
class IndexView extends Backbone.View
el: "body"
initialize: ->
timerId = setInterval =>
#self.vIndex.render()
#@vIndex.render()
@render()
, 3000
render: ->
console.log "timer"
sample.default.coffee
vIndex = new IndexView
考察
まず必要なのは
setInterval (func, delay)
window.setInterval @ MDN
の形式を作ることですが、
こちらは、@yahihiさんの「CoffeeScriptで引数に無名関数を使う」を参考にさせていただきました。
つぎに、func
ですが
Backbone: using setInterval とか Backbone.js bind this to setInterval とかに書いてあるとおり、self
やthis
を使うと書いてありました。
self
でもthis
でもwindow
が返ってくるようなので(…詳しいことはわかりません。m(_ _ )m)
window
が返ってくるなら、自分自身を指定してあげればいいじゃない
ってことで、@vIndex.render()
となりました。
self
とthis
の違いも理解してなくてすみません。
2014-09-11 編集
=>
を使えばいいようだ。