【问题标题】:Easy way to initialize new ember-data model from json data?从 json 数据初始化新的 ember-data 模型的简单方法?
【发布时间】:2013-03-03 08:07:19
【问题描述】:

我不想从服务器获取新模型的初始数据,例如。来自响应的 url /users/new.json:

{"user":
  {
    "default_value1": "foo", 
    "default_value2": "bar",
    "embedded_foo": [{"default_value3": "baz"}]
  }
}

用户模型:

App.User = DS.Model.extend({
  embeddedFoo: DS.hasMany('App.EmbeddedFoo'),
  defaultValue1: DS.attr('string'),
  defaultValue2: DS.attr('string')
})

还有更多的值,那么有没有办法使用现有的 ember-data 映射来初始化新记录?

【问题讨论】:

  • 您找到解决此问题的方法了吗?任何帮助表示赞赏

标签: ember.js ember-data


【解决方案1】:

这来自另一个问题here,但基本要点是:

var userData = {"user":
  [{
    "id": 1,
    "default_value1": "foo", 
    "default_value2": "bar",
    "embedded_foo": [{"default_value3": "baz"}]
  },
  {
    "id": 2,
    "default_value1": "bang", 
    "default_value2": "biff",
    "embedded_foo": [{"default_value3": "boop"}]
  }]
}

App.Store = DS.Store.create({
  revision: 11
});

App.User = DS.Model.extend({
  embeddedFoo: DS.hasMany('App.EmbeddedFoo'),
  defaultValue1: DS.attr('string'),
  defaultValue2: DS.attr('string')
})

App.Store.loadMany(App.User, [1,2], userData);

更多详情请咨询DS.Store.loadManydefinitiontests

【讨论】:

  • 那是用来加载已有数据的。如果我可以在没有 id 的情况下执行此操作并将记录状态更改为新状态,那就没问题了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多