【问题标题】:Ember-data 1.0.0-beta.19: store.find() returns DS.INTERNALMODEL instancesEmber-data 1.0.0-beta.19:store.find() 返回 DS.INTERNALMODEL 实例
【发布时间】:2015-06-08 15:17:07
【问题描述】:

我已将 Ember-data 更新为 1.0.0-beta.19,现在 store.find('events') 已解决的承诺返回 DS.INTERNALMODEL 实例,而不是 DS.MODEL。使用 Ember-data 1.0.0-beta.18 它运行良好。有什么想法吗?

更新

最后我发现在我的应用程序代码的某个地方我使用了 Ember-data 内部代码,如 store.find('events.content'),导致异常。调试器对跟踪它没有太大帮助,但删除它解决了我的问题。

【问题讨论】:

    标签: ember-data


    【解决方案1】:

    这是一个错误,如果 Promise 使用 DS.InternalModel 解决,则这些仅用于 Ember-Data 的内部使用,不应暴露给用户代码。如果这仍然是一个问题,请提交一个错误

    【讨论】:

      【解决方案2】:

      这是故意的。在chanelog中注明:

      • #3094 为应用代码延迟实现 DS.Models,否则在 ED 中使用 InternalModel

      它应该在很大程度上没有问题。你有问题吗?

      您可以使用InternalModel.record 访问DS.Model

      【讨论】:

      • 是的,在内部模型上调用 get 函数我得到一个未定义的函数错误。
      • 您可以使用InternalModel.record访问DS.Model
      • 这是一个重大变化吗?因为它没有在 Breaking Changes 部分提到。看来我必须对我的应用程序中的很多部分进行更改...
      • 所以现在我必须执行store.find('events').then(function(events){ events.get('content')[0].record.get('id') }); 才能获得记录ID??
      • 你应该可以做到store.find(function(events) {.events.objectAt(0).id; });
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-21
      • 1970-01-01
      相关资源
      最近更新 更多