添加模型时将类添加到itemView

时间:2012-07-11 17:27:26

标签: backbone.js marionette

我使用Backbone& Marionette为我的webapp,

我有一系列曲目,当添加曲目时以及当播放器没有读取任何曲目时,我希望将“播放”样式添加到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的好选择器。

感谢帮助,Luca

1 个答案:

答案 0 :(得分:1)

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