【问题标题】:Ember model data not shown in templateEmber 模型数据未显示在模板中
【发布时间】:2015-11-23 23:59:51
【问题描述】:

我在模板中显示模型数据时遇到问题。这是我的代码:

  1. /routes/index.js
import Ember from 'ember';

export default Ember.Route.extend({
    model() {
        return this.store.find('video');
    }
});
  1. /adapters/application.js
import DS from 'ember-data';

export default DS.JSONAPIAdapter.extend({
    defaultSerializer: 'JSONSerializer'
});
  1. /serializers/application.js
import DS from 'ember-data';

export default DS.JSONSerializer.extend({});
  1. /templates/index.hbs
{{#each video in model}}
    <p>{{video.title}}</p>
{{/each}}

但是没有显示数据。我检查了来自服务器的响应,它是有效的 jsonapi.org 格式响应。我通过从/router/index.js:model() 返回一个Ember.Object 进行了测试,并且数据呈现得很好。我很困惑为什么当我指定使用 JSONSerializer 时,ember 无法从存储中访问数据,但是当数据作为对象数组返回时呈现。有什么想法吗?

更新 如果我在模板中记录{{log model}},我会得到以下输出: Class {store: Class, isLoaded: true, manager: Class, isUpdating: false, __ember1448322947671: null…}

【问题讨论】:

  • 控制台有错误吗?
  • @torazaburo 完全没有错误。
  • Ember 版本?你可以试试this.store.query吗?
  • @torazaburo 我刚刚解决了这个问题,正在发布答案。问题是我使用了JSONSerializer 而不是JSONAPISerializer

标签: javascript node.js ember.js ember-data ember-cli


【解决方案1】:

我想通了。看起来 Ember 更改了序列化程序名称,应该是 JSONAPISerializer 而不是 JSONSerializer

【讨论】:

  • 这是两个独立的序列化器,现在 Ember.js 都支持
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-06
  • 1970-01-01
  • 2013-08-22
相关资源
最近更新 更多