我有一个简单的日历,只要日期更改,它就会重新呈现。设置日期后onClick
触发 change:date 事件并调用 render 方法。
但是,由于没有替换 html,因此上下文已关闭。
我不知道为什么会这样,因为我=>
用来保留上下文并且当我console.log @$el
总是向我显示相同的类时,即。小部件视图
它在我这样做时有效,$(elementName).html
但不适用于@$el.html
. 想法?
class WidgetView extends sandbox.mvc.View
className: 'sidebar-group'
events:
"click a" : "onClick"
template: sandbox.template.compile tmpl
initialize: (options) ->
@date = new DateModel {rid:1000}
@listenTo @date, "change:date", @render
onClick: (e) ->
e.preventDefault()
# Get value
value = $(e.currentTarget).text()
# Set date model
@date.set {date:value}
# Emit model change event
sandbox.emit "model.date.change", @date
return false
render: (model) =>
data = CalendarResource()
@$el.html @template {calendar: data}
@