В coffeescript, если вы используете оператор "жирная стрелка" (=>
) вместо ->
, ваша функция обратного вызова будет привязана к this
(@
) в области, в которой она создается,Это означает, что вы можете использовать @collection в вашем обратном вызове, а @ будет правильно ссылаться на ваш EntriesIndex, поэтому ваша функция рендеринга может выглядеть так:
render: ->
$(@el).html(@template(eventSource: (start, end, callback) =>
console.log @collection # == your EntriesIndex collection
callback(@collection.events(start, end))
))
См. http://coffeescript.org/#fat_arrow
Мое предложениеПриведенное выше будет работать только в том случае, если this
(@
) ссылается на ваш EntriesIndex в рамках рендера, поэтому я полагаю, что вам, возможно, придется сделать то же, что предложил Авраам, и обязательно связать @ с вашим EntriesIndex в функции рендеринга.Добавьте это для инициализации:
_.bindAll this
Кто-то, кто знает Coffeescript, может исправить меня, если я ошибаюсь в этом синтаксисе:)