【问题标题】:Ember data load model from DS.PromiseArray来自 DS.PromiseArray 的 Ember 数据加载模型
【发布时间】:2015-01-06 15:28:24
【问题描述】:

我想使用 Ember 查询记录加载 Ember 模型。

我的代码:

model: function(params) {
    return this.store.find("user", {username: params.username}).then(function(result){
      return result.get('firstObject');
    });
  },

我正在使用 ActiveModel 适配器。

在控制台中,我看到“生成 -> 路由:登录对象 {fullName:“路由:登录”}”

在调试时,我可以看到 result.get('firstObject') 已正确加载,但未调用 setupController。

更新:

模型加载正常,由于控制器中的错误,我遇到了这个问题。 谢谢

【问题讨论】:

  • 你能在 jsbin 上搞定这个吗?

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


【解决方案1】:

看起来您在模型挂钩中使用了两个 return 语句。如果您要从 then 函数返回数据,请省略您的第一个 return 语句。

model: function(params) {
    this.store.find("user", {username: params.username}).then(function(result){
        return result.get('firstObject');
    });
},

【讨论】:

  • 感谢您的回答,但这部分代码工作正常,我遇到这个问题是因为其他原因。
  • @awgreenarrow08 - 我相信您在这种情况下有 2 次退货。不明确地从 model 返回将不起作用 emberjs.jsbin.com/dujuro/1/edit 这不是 Ruby ;)
  • 不...你必须在模型钩子中返回一些东西,否则它只会假设模型为空。第二个返回来自承诺履行闭包,而不是模型钩子闭包。
猜你喜欢
  • 1970-01-01
  • 2013-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-26
  • 1970-01-01
  • 1970-01-01
  • 2016-01-19
相关资源
最近更新 更多