【问题标题】:Why is my object being added to both collections?为什么我的对象被添加到两个集合中?
【发布时间】:2013-02-19 00:42:16
【问题描述】:

请参考以下小提琴: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

问题:为什么我的对象会被添加到两个集合中!?

【问题讨论】:

  • 你确定你没有错误地输入集合的原型吗?然后它会将值添加到两个集合中

标签: javascript model-view-controller ember.js javascript-framework ember-data


【解决方案1】:

刚刚在我发布此内容时,我意识到了问题:

当我生成摘要时,我想遍历 either 集合中的所有对象:

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

这具有将collection2 添加到collection1 的reference 而不仅仅是结果bar 变量的未实现效果。把代码改成这样,问题就解决了:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-03
    • 1970-01-01
    • 2019-03-28
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多