簡體   English   中英

帶有嵌入式對象的Ember.js模型

[英]Ember.js Model with embedded object

我將查詢一個在響應中返回嵌入式對象的API,因此將使用夾具適配器對此進行仿真。 我的數據如下所示:

App.Deal.FIXTURES = [
      {id: 1, name: 'Deal 1', closed_time: '2012-04-01', value_in_cents: 342345, company: { id: 1, name: 'Google' }, user: { id: 2, full_name: 'Bob Smith' } },
      {id: 2, name: 'Deal 2', closed_time: '2012-04-01', value_in_cents: 342345, company: { id: 1, name: 'Google' }, user: { id: 2, full_name: 'Bob Smith' } }
]

這是我的模型:

App.Deal = DS.Model.extend({
  name: DS.attr('string'),
  value_in_cents: DS.attr('number'),
  closed_time: DS.attr('date'),
  user: DS.belongsTo('App.User'),
  company: DS.belongsTo('App.Company')
});

App.User = DS.Model.extend({
  full_name: DS.attr('string')
});

App.Company = DS.Model.extend({
  name: DS.attr('string')
});

我不確定如何獲得usercompany對象。 我通過控制台看到數據:

App.Deal.find(1)
Class {store: Class, clientId: 2, _relationshipChanges: Object, _changesToSync: Object, id: "1"…}
__ember1365792240874: "ember329"
__ember1365792240874_meta: Meta
_changesToSync: Object
_data: Object
attributes: Object
belongsTo: Object
company: Object
id: 1
name: "Google"
__proto__: Object

但是我不能做App.Deal.find(1).get('user') 我想念什么嗎?

以下設置有效:

App.Adapter = DS.FixtureAdapter.extend();

App.Adapter.map('App.Deal', {
  user: {embedded: 'load'},
  company: {embedded: 'load'}
});

App.User = DS.Model.extend({
  full_name: DS.attr('string')
});

App.Company = DS.Model.extend({
  name: DS.attr('string')
});

App.Deal = DS.Model.extend({
  name: DS.attr('string'),
  value_in_cents: DS.attr('number'),
  closed_time: DS.attr('date'),
  user: DS.belongsTo(App.User, {embedded: 'load'}),
  company: DS.belongsTo(App.Company, {embedded: 'load'})
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM