0

私は自分のウェブアプリにバックボーンとマリオネットを使用しています。

私はトラックのコレクションを持っています。トラックが追加され、プレーヤーがトラックを読み取らない場合、「再生」スタイルを itemView に配置するか、キューに追加されたトラックに「一時停止」します。

そのため、新しい Backbone モデルごとにクラスを追加したいと考えています。

モデルを追加すると、クラスは前の要素に追加されますが、最新の要素には追加されません。これは私の CompositeView です:

var trackListYTView = Marionette.CompositeView.extend({
template: "#playlist",
id: "trackList",
itemView: trackView,
itemViewContainer: "tbody",
initialize: function(){
     this.bindTo(this.collection, "add", this.modelAdded);
},
modelAdded: function(model){
     if(status) this.$('#status').addClass('icon-pause');
     else this.$('#status').addClass('icon-play');
}

「これ」は新しいitemViewの良いセレクターではないと思います。

助けてくれてありがとう、ルカ

4

1 に答える 1

1

あなたの問題はセレクターだと思います - #status. 要素 ID は一意である必要があります。同じ ID を持つ要素を複数持つべきではありません。「#status」の代わりに、「.statusClass」などのクラス セレクターを使用します。

于 2012-07-12T00:49:48.510 に答える