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;
}
我正在使用较旧的 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;
}