Ember.js 在ember中推送模型中的字符串数据数组

Ember.js 在ember中推送模型中的字符串数据数组,ember.js,ember-data,Ember.js,Ember Data,我有一个API响应,返回如下内容 { texts: ["Text1", "Text2", "Text3"] } 我已经创建了如下的余烬模型(text.js-model文件) 我不确定在模型的属性中添加什么,因为响应是一个字符串数组 我也越来越 You must include an 'id' for text in an object passed to 'push' 上述代码段出错 我对ember.js还不熟悉,在这一点上我有点不知所措。这不是一个特别好的API。但有时,您不需要控制a

我有一个API响应,返回如下内容

{
  texts: ["Text1", "Text2", "Text3"]
}
我已经创建了如下的余烬模型(text.js-model文件)

我不确定在模型的属性中添加什么,因为响应是一个字符串数组

我也越来越

You must include an 'id' for text in an object passed to 'push'
上述代码段出错


我对ember.js还不熟悉,在这一点上我有点不知所措。

这不是一个特别好的API。但有时,您不需要控制api,只需要让它与Ember一起工作

我建议使用此处提供的数组转换:

代码如下:

import Ember from 'ember';
import DS from 'ember-data';

export default DS.Transform.extend({
  deserialize: function(value) {
    if (Ember.isArray(value)) {
      return Ember.A(value);
    } else {
      return Ember.A();
    }
  },
  serialize: function(value) {
    if (Ember.isArray(value)) {
      return Ember.A(value);
    } else {
      return Ember.A();
    }
  }
});
将此代码复制并粘贴到
app/transforms/array.js

然后您将能够执行以下操作:

import DS from 'ember-data';
export default DS.Model.extend({
  texts: DS.attr('array')
});
有关转换的详细信息,请参阅以下指南:

import DS from 'ember-data';
export default DS.Model.extend({
  texts: DS.attr('array')
});