我使用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
答案 0 :(得分:1)
我认为你的问题是选择器 - #status。 元素ID应该是唯一的。您不应该有多个具有相同ID的元素。使用类选择器,例如'.statusClass',而不是'#status'。