更新我仍然不是百分之百,但我做了一个似乎运作良好的小提琴NEWWORKINGFIDDLE我还在测试它是否有任何警告,但这似乎工作得很好,看起来我可以放弃骨干关系和深度模型:)所有我需要的是复合视图这一直感谢Derrick Bailey
我有很多球队和球员。继续查看FIDDLE以查看我正在尝试做的更多内容,它应该更好地了解我在做什么。
var Relational = require('backbone.relational');
module.exports = TeamModel = Backbone.RelationalModel.extend({
relations: [{
type: Backbone.HasMany,
key: 'players',
relatedModel: 'PlayerModel',
collectionType: 'PlayersCollection',
reverseRelation: {
key: 'playsOn',
includeInJSON: 'id'
}
}]
});
然后是玩家模型
module.exports = PlayerModel = Backbone.RelationalModel.extend({});
我基本上很高兴我可以做这样的事情
var bulls = new TeamModel({ name: 'bulls' });
var michael = new PlayerModel({ position: 'Point Guard', playsOn: bulls });
console.log( bulls.get( 'players' ).pluck( 'position' ) );
console.log( michael.get( 'playsOn' ).get( 'name' ) + ', ' + bulls.get( 'players' ).length );
我终于对骨干关系有了一个简单的了解,但我不确定如何用我想要的方式用木偶来构建一个视图,就像有
这样的东西<div class="team bulls">
<div class="the-players">
<div class="player michael"></div>
</div>
</div>
<div class="team warriors">
<div class="the-players">
<div class="player steph"></div>
</div>
</div>
我写了一个小提琴,但是为了让所有部件都能正常工作而努力工作我必须从头开始,因为我的实际应用程序要大得多并且模块化,所以这里是一个基本的想法FIDDLE
我只是尝试使用骨干关系,以便我可以在视图中拥有一个团队元素/视图,其中包含与该团队相关的玩家列表,我使用嵌套模型进行了很好的设置,但这导致了很多问题添加/更新玩家。
PS我已经成功完成了一系列团队和玩家将它们合并在一起,但它感觉很乱,每个人都说使用关系,所以我在这里,有一些方面我无法掌握,所以希望有人可以指出:)UPDATED FIDDLE 我正在取得一些进展,我仍然不确定如何在这里应用关系
编辑:以下是我以前的方式,FIDDLE问题是更新特定团队的集合,我可能只是打开一个新问题并查看哪个解决方案是更好的关系方式,或者小提琴是一种好方法,我只需要更好的更新和保存方式。