ember computed属性setdiff返回错误的set

时间:2014-12-16 19:40:38

标签: ember.js ember-data

我正在开展一个项目,在这个项目中,我需要打印一个阵列中的唯一元素,但不在另一个阵列中。

    MeterModifier.Meter = Model.extend({
        SLID: attr(),
        SPIDs: hasMany('SPID', { async: true }),
        premise: belongsTo('premise', { async: true })
    });

    MeterModifier.SPID = Model.extend({
        premise: belongsTo('premise', { async: true }),
        meter: belongsTo('meter', { async: true })
    });

    MeterModifier.Premise = Model.extend({
        meter: hasMany('meter', { async: true }),
        unusedSPIDs: Ember.computed.setDiff('SPIDs', 'meter.@@each.SPIDs'),
        SPIDs: hasMany('SPID', { async: true })
    });

之前,我已经设置了这个模型,以便(在Premise中)仪表处于“属于”的状态。与仪表型号的关系,而不是“有很多”。事实证明这是不正确的,但unusedSPID返回了正确的结果。那时,我正在使用Ember.computed.setDiff(' SPIDs',' meter.SPIDs')。

现在,unusedSPIDs返回当前Premise模型中的所有SPID,但不考虑相关仪表中的spid。简而言之,它只返回当前前提的所有SPID。它不会引发任何错误。有没有人知道为什么会这样,我怎么能解决它?谢谢!

http://emberjs.jsbin.com/zaqapevoko/3/#/meter/1

0 个答案:

没有答案