【问题标题】:Computed property from has many returning undefined - Ember来自的计算属性有许多返回未定义 - Ember
【发布时间】:2017-07-02 01:54:39
【问题描述】:

我有一个feed 对象,其中hasMany feedTracks,每个feedTrack 都有一个与之关联的track

这些关系可以成功运行,但是当我尝试使用计算属性时,出现了问题。

关于我拥有的提要模型:

secondFeedTrack: computed('feedTracks.[]', function() {
  return this.get('feedTracks').then((feedTracks) => {
    return feedTracks.objectAt(1);
  });
})

当我做{{log feed.secondFeedTrack}} 我得到:

Object { _id: 136, _label: undefined, _state: undefined, _result: undefined, _subscribers: Array[0] }

这不是什么,但它看起来不正确。

当我做{{log feed.secondFeedTrack.track}} 时,我得到undefined

我做错了什么没有从计算属性中正确获取feedTrack

【问题讨论】:

    标签: ember.js


    【解决方案1】:

    问题在于 Ember Data 为 store 方法返回 PromiseObject 和 PromiseArrays,但是由于您 .thening 承诺(async hasMany),它变成了常规承诺。

    如果你把它简化为:

    secondFeedTrack: computed('feedTracks.[]', function() {
      return this.get('feedTracks').objectAt(1);
      });
    })
    

    它应该可以工作,因为它应该随着关系的解决而更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-04-25
      • 1970-01-01
      • 2018-05-12
      • 1970-01-01
      • 2014-07-28
      • 1970-01-01
      • 2016-01-19
      相关资源
      最近更新 更多