backbone和bootstrap-datepicker

时间:2013-03-29 13:33:30

标签: jquery ruby-on-rails backbone.js datepicker

我有一个rails应用程序,我正在尝试添加一些交互式内容。所以我有一个bootstrap-datepicker-rails gem用于datepicker和backbone.js用于数据处理。但是,当我尝试收听datepicker的'changeDate'事件时,我遇到了一些错误。视图中的挂钩事件根本不起作用,该方法不会被调用:

events: 
  'changeDate #dpstart': 'tryit'

tryit: ->
  console.log(this)
  this

当我尝试在路由器中捕获事件时,我无法访问我的集合:

initialize: ->
    @datepicker = $('#dpstart').datepicker({
      "format": "yyyy-mm-dd",
      "weekStart": 1,
      "autoclose": true
      })       
    @datepicker.on('changeDate', @refetch, this) 

这样会产生错误,因为它无法获得上下文,并且

initialize: ->
    @datepicker = $('#dpstart').datepicker({
      "format": "yyyy-mm-dd",
      "weekStart": 1,
      "autoclose": true
      })       
    @datepicker.on('changeDate', @refetch) 

这种方式工作正常,但在@refetch中我没有获得骨干上下文因此无法访问模型。我该怎么办?

1 个答案:

答案 0 :(得分:0)

使用this自己绑定上下文(因为您有下划线或lowdash)。或者使用Backbone的this method进行绑定(更好)。

关于为什么没有调用第一个,请确保datepicker方法返回的是你绑定它的jQuery元素($('#dpstart'))。我不这么认为,所以你基本上是在听我假设的错误。