未捕获错误:断言失败:您可能不会将`id`设置为模型上的属性

Bog*_*rac 7 ember.js ember-data

整个错误:

Uncaught Error: Assertion Failed: You may not set `id` as an attribute on your model. Please remove any lines that look like: `id: DS.attr('<type>')` from App.Plan
Run Code Online (Sandbox Code Playgroud)

Ember型号:

App.Plan = DS.Model.extend({
id: DS.attr('number'),
name: DS.attr('string'),
period: DS.attr('number'),
price: DS.attr('number')
});
Run Code Online (Sandbox Code Playgroud)

来自REST API的数据:

{"plans":[{"id":1,"name":"Monthly subscription","period":1,"price":2}]}
Run Code Online (Sandbox Code Playgroud)

问题:如何解决上述错误?

Dun*_*ker 10

只需忽略id你的属性DS.Model.Ember-data会自动为您处理.您仍然可以使用id找到记录,当您从Ember应用程序中访问它时,它将成为对象的属性.有关详细信息,请参阅此处此处.

App.Plan = DS.Model.extend({
  name: DS.attr('string'),
  period: DS.attr('number'),
  price: DS.attr('number')
});
Run Code Online (Sandbox Code Playgroud)

  • 如何让$ E.toJSON()返回id以及其他属性? (2认同)