我有一个Marionette.ItemView,它使用CSS类来区分新项目的样式:
class Happenator.Views.Option extends Backbone.Marionette.ItemView
tagName: 'li'
className: =>
return 'new' if @model.isNew()
initialize: ->
@bindTo @model, "change", -> @render()
保存并更新模型后,所有内容都会刷新,但“新”类仍保留在“li”上。有没有一种更新封闭标签类更新的好方法?
答案 0 :(得分:5)
是的,'new'类保留在'li'上,因为实际上Backbone仅在初始化方法调用之前使用className
属性。请查看at this answer以获取更多解释。
但为什么不使用jQuery .toggleClass
或.removeClass
?像
render: =>
@$el.html(@template(@model.toJSON()))
unless @model.isNew()
@$el.removeClass('new')