У меня есть приложение для рельсов, и я пытаюсь добавить некоторый интерактивный контент tom мои взгляды. Таким образом, у меня есть bootstrap-datepicker-rails gem для datepicker и backbone.js для обработки данных. Но когда я пытаюсь слушать событие changeDate datepicker, я получаю некоторые ошибки. Подключаем событие в представлении не работает вообще, метод просто не дозвонились:backbone и bootstrap-datepicker
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 я не получаю backb один контекст так не может получить доступ к моделям. Что мне нужно сделать?
Метод ListenTo() выглядел как идеальное совпадение, но он производит ту же ошибку, что и в моей второй части кода. Теперь попробуем первый предложенный вами метод. = ( –
Я все еще действительно озадачен второй частью кода, хотя. Не могли бы вы вставить точную ошибку? @TimurMinulin – Loamhoof
Конечно. Uncaught TypeError: Object # не имеет метода 'apply' - где Managers - мой маршрутизатор. this.listenTo (@datepicker, 'changeDate', @tryit) - это событие, которое я использовал. –