无法在Ember中访问“某些”异步数据

时间:2017-02-07 20:51:11

标签: ember.js ember-data

这是“ember-data”:“~2.11.1”

我有一个包含'输出'

的频道模型
outputs: DS.hasMany('output', {
    async: true
}),

,输出模型包含'identity'

channel: DS.belongsTo('channel'),
identity: DS.belongsTo('identity', {
    async: true
}),

在输出路径中(在通道下方),我在模型中执行此操作

model() {
    let channel = this.modelFor('channel').channel
    let outputs = channel.get('output')
    return Ember.RSVP.hash({
        channel: channel,
        outputs: outputs
    })
}

这就是让我看到所有属于频道的输出,正如预期的那样。

我遇到问题的是属于输出的身份。

现在,输出可以共享身份,例如,身份可能是“youtube”,并且可能有3个输出具有相同的“youtube”身份

我看到的是,其中一个输出具有'youtube'标识详细信息,但其他两个输出看到.get('identity')为null。

我是否错误地设置了模型或模型钩子?或者它是否正在阻止我再次检索身份(某种缓存?)

1 个答案:

答案 0 :(得分:0)

问题解决了!

输出模型中的

我需要添加到身份属性:

{{1}}

引用Ember Guide, Models, Relationships, Explicit Inverses

  

没有逆的关系可以通过包含来表示   {inverse:null}。

这一点一点也不清楚,但Ember Data假设在某个地方存在1对1的关系并不存在。当Ember Data试图保持这种反向关系同步时,它通常会将其他冲突关系设置为null。

要解决此问题,您可以使用inverse:null。

明确告知Ember Data没有反向关系