基本上,我想知道集合是否更像文件夹(它们“物理上包含”模型),还是播放列表(它们包含对模型的引用)。
如果它们像文件夹一样工作,那么是否有模拟播放列表功能的约定?
发布于 2014-12-09 16:37:14
是的,模型可以同时驻留在多个集合中。
function log(msg) { $('body').append('<p>'+JSON.stringify(msg)+'</p>'); }
var m = new Backbone.Model({id: 1});
var c1 = new Backbone.Collection([m, {id: 2}]);
var c2 = new Backbone.Collection([m, {id: 3}]);
log(c1.toJSON());
log(c2.toJSON());
log(c1.get(1) === c2.get(1));
log(c1 === m.collection);<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="http://underscorejs.org/underscore-min.js"></script>
<script src="http://backbonejs.org/backbone-min.js"></script>
但是请注意,当您将模型添加到另一个集合时,对集合m.collection的引用不会更改。
https://stackoverflow.com/questions/27383875
复制相似问题