【问题标题】:queryRecord returns a class object instead of the record I expectqueryRecord 返回一个类对象而不是我期望的记录
【发布时间】:2015-11-14 13:51:34
【问题描述】:

我正在使用ember-cli-mirage 存根 API,在配置中我有这个

this.get('/users',function(db,request){
  if(request.queryParams.short_url){
    var short_url = request.queryParams.short_url;
    return db.users.where({short_url: short_url});
  } else {
    console.log('no query params');
    return db.users;
  }
});

在我的索引路径中,我有这样的模型挂钩设置

model(params) {
  return this.store.queryRecord('user',{short_url: params.short_url});
}

但这并没有从 mirage 中返回我的用户模型,当我将其转换为变量并将其记录到控制台时,我得到了一个类对象。

【问题讨论】:

  • 你想在模板中使用它还是什么?
  • 我实际上不想在此处的模板中使用它,我打算将其中的一些信息存储在本地存储中,但将来我可能想在模板中使用它或类似的查询。

标签: ember.js ember-data ember-cli-mirage


【解决方案1】:

store.queryRecord 返回的是一个承诺。 Ember 在渲染模板之前在内部等待该问题解决。如果您想记录该数据或将该数据保存到本地存储中,您需要先解决该承诺

// ...
return this.store.queryRecord('user',{short_url: params.short_url}).then(function(result){
    // console.log(result);
    // localStorage.setItem('result', JSON.stringify(result));
    return result;
});
// ...

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2021-01-11
  • 2013-12-29
  • 1970-01-01
  • 1970-01-01
  • 2018-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多