ember json api camelcase/model 属性未定义

ember json api camelcase/model attributes undefined

我正在使用较旧的 Ember 'JSONSerializer',因为 API;

返回 json 格式
[
  {
    "userId": 1,
    "id": 1,
    "title": "quidem molestiae enim"
  },
  {
    "userId": 1,
    "id": 2,
    "title": "sunt qui excepturi placeat culpa"
  },
.....
]

该模型需要带破折号的属性,因此我创建了一个应用程序序列化程序

import JSONSerializer from '@ember-data/serializer/json';
import { dasherize } from '@ember/string';

export default class ApplicationSerializer extends JSONSerializer {
   keyForAttribute(attr) {
     return dasherize(attr)
  }
}

专辑模特

import Model, { attr } from '@ember-data/model';

export default class AlbumModel extends Model {
  @attr userId;
  @attr title;
}

但模型属性仍未定义

相册模板

<h1>album</h1>
  {{#each model as |album|}}
  <li>
  {{album.id}}
  {{album.userId}}
  {{album.title}}
</li>
  {{/each}}

ember-cli: 4.0.1 节点:12.10.0

keyForAttribute 指定响应负载中键的格式。默认情况下 Ember 查找破折号键——在您的情况下,您的有效负载采用驼峰式格式,因此您需要查找驼峰式键。要修复,只需覆盖 keyForAttribute 和 return key,无需修改:

keyForAttribute(key) {
  return key;
}