0

Rails アプリを持っていて、ビューにインタラクティブなコンテンツを追加しようとしています。したがって、datepicker 用の bootstrap-datepicker-rails gem とデータ処理用の 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 ではバックボーン コンテキストを取得できないため、モデルにアクセスできません。どうすればいいですか?

4

1 に答える 1

0

これでコンテキストを自分でバインドします(アンダースコアまたはローダッシュがあるため)。または、バックボーンのこのメソッドを使用してバインディングを行います (より良い)。

最初のメソッドが呼び出されない理由については、datepicker メソッドによって返されるものが、バインド先の jQuery 要素 ($('#dpstart')) であることを確認してください。私はそうは思わないので、あなたは基本的に間違ったことを聞いていると思います.

于 2013-03-29T13:40:59.517 に答える