(オーディオ/ビデオ)トラックのモデルとそのトラックのコレクションがあるとしましょう
モデル:
Backbone.Model.extend({
defaults:{...},
play: function() {
//plays the track
}
});
コレクションは、プレイリストのようなものを表します。
コレクション:
Backbone.Collections.extend({
currentTrackInList: 0,
model: track,
playAll: function() {
self = this;
this.models.each(function(item){
item[self.currentTrackInList].play();
});
}
});
ここで行う必要があるのは、モデル内のコレクションのプロパティにアクセスして、再生ロジックを決定することです(つまり、現在再生中のトラックがコレクションの最後のトラックであるかどうか)。
もちろん、コレクション内のplay()関数を介してパラメーターを渡すこともできますが、モデルとそのモデルに基づくコレクションが相互に通信できるようにするためのはるかに簡単な方法が必要です。