0

我将 Backbone & Marionette 用于我的 web 应用程序,

我有一组曲目,当添加曲目并且播放器未读取任何曲目时,我想将“已播放”样式放入 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');
}

我认为“this”不是新 itemView 的好选择器。

感谢您的帮助,卢卡

4

1 回答 1

1

我认为你的问题是选择器 - #status。元素 id 应该是唯一的。您不应该有多个具有相同 ID 的元素。使用类选择器,例如“.statusClass”,而不是“#status”。

于 2012-07-12T00:49:48.510 回答