Kri*_*aun 1 backbone.js marionette
我有一个Marionette.ItemView,它使用CSS类来不同地设置新项目的样式:
class Happenator.Views.Option extends Backbone.Marionette.ItemView
tagName: 'li'
className: =>
return 'new' if @model.isNew()
initialize: ->
@bindTo @model, "change", -> @render()
Run Code Online (Sandbox Code Playgroud)
保存和更新模型后,所有内容都会刷新,但"新"类仍保留在"li"上.有没有一种更新封闭标签类更新的好方法?
是的,"新"类保留在"li"上,因为实际上Backbone className仅在初始化方法调用之前使用该属性.请查看此答案以获得更多解释.
但为什么不使用jQuery .toggleClass或.removeClass?就像是
render: =>
@$el.html(@template(@model.toJSON()))
unless @model.isNew()
@$el.removeClass('new')
Run Code Online (Sandbox Code Playgroud)