1

CSS クラスを使用して新しいアイテムのスタイルを異なる方法で設定する Marionette.ItemView があります。

class Happenator.Views.Option extends Backbone.Marionette.ItemView
  tagName: 'li'
  className: =>
    return 'new' if @model.isNew()
  initialize: ->
    @bindTo @model, "change", -> @render()

モデルを保存して更新すると、すべてが更新されますが、「新しい」クラスは「li」に残ります。更新時に囲んでいるタグのクラスを更新する良い方法はありますか?

4

1 に答える 1

5

はい、「新しい」クラスは「li」に残ります。実際、バックボーンはclassName初期化メソッド呼び出しの直前にのみプロパティを使用するためです。詳細については、この回答をご覧ください。

.toggleClassしかし、jQueryやを使用しないのはなぜ.removeClassですか? 何かのようなもの

render: =>
    @$el.html(@template(@model.toJSON()))
    unless @model.isNew()
        @$el.removeClass('new')

http://jsfiddle.net/GX8WJ/21/

于 2012-06-21T01:01:41.133 に答える