1

请参考以下小提琴:http://jsfiddle.net/VkKX2/138/(请务必打开您的控制台)为什么我的对象被添加到两个集合?

TL; DR;我有2个hasMany集合,当我为一个集合添加一个新模型时,它也被添加到其他集合中。

SO需要的代码,所以这里是一个非常高度概括:

var foo = App.FooModel.find(101); 
var bar = App.BarModel.find(204); 

foo.get('collection2').addObject(bar); 
foo.get('collection1').contains(bar); // yields true 

问:为什么被添加到收藏我的对象!?

+0

您确定没有错误地提供集合的原型吗?它会将值添加到两个集合中 – Sebas 2013-03-04 19:50:47

回答

0

我贴这个,我才意识到这个问题:

当我产生我的总结,我想通过所有对象环路要么集合:

var bars = foo.get('collection1').addObjects(foo.get('collection2')).uniq(); 

这样做的将collection2添加到collection1的参考的未实现效果,而不仅仅是结果bar变量。通过将代码更改为此,问题得以解决:

var bars = foo.get('collection1').toArray().addObjects(foo.get('collection2')).uniq(); 
相关问题