Ember:我怎么知道peekAll是否会返回任何模型?

时间:2018-05-14 21:13:14

标签: ember.js ember-data

我有一个外部API,如果我还没有回复数据的模型,我希望调用它。

我试图在我的路线上做这样的事情:

let positions = this.store.peekAll('position');
if (positions.content.length < 1) {
    //make API call to fetch new data
}

但我正在努力学习一个人无法在length上致电.content的方法。 :/什么是最好的解决方法?我试着查看变量positions,但无论是否存在数据,都会返回该对象。

PS。我不能在这里使用一些ember内置的缓存方法,因为我查询而不是使用findRecord或findAll。

1 个答案:

答案 0 :(得分:4)

现在永远不应该使用content子属性,现在它被公开使用几年了(因为content道具返回一个带有InternalModels的数组)。

您有两种选择:

  1. 获取原生数组:positions.getArray().length
  2. 通过计算属性获取长度:positions.get('length')