如何在Ember.js中包含嵌套模型

如何在Ember.js中包含嵌套模型,ember.js,ember-data,fixtures,Ember.js,Ember Data,Fixtures,我试图找出如何访问夹具数据中的嵌套模型。我可以在{{each}}循环中完全访问名称、img_url等,但是如果我尝试执行{{address.street},我会得到[Object,Object]。模型如下: App.Test = DS.Model.extend({ name: attr(), img_url: attr(), description: attr(), address: { street: attr(), number: attr(), zi

我试图找出如何访问夹具数据中的嵌套模型。我可以在{{each}}循环中完全访问名称、img_url等,但是如果我尝试执行
{{address.street}
,我会得到[Object,Object]。模型如下:

App.Test = DS.Model.extend({
  name: attr(),
  img_url: attr(),
  description: attr(),
  address: {
    street: attr(),
    number: attr(),
    zip_code: attr(),
    city: attr()
  }
});

您应该创建一个单独的模型类型
地址
,并在两个模型之间创建一个关系

App.Test = DS.Model.extend({
  name: attr(),
  img_url: attr(),
  description: attr(),
  address: belongsTo('address', {async:true})
});

App.Address = DS.Model.extend({
  street: attr(),
  number: attr(),
  zip_code: attr(),
  city: attr()
});

示例:

您是否尝试通过日志记录来控制这些对象,以便知道它包含哪些属性?我尝试过。这就是我得到的信息:'Ember Inspector($E):Object{id:'3',name:'Test',img_url:'url',description:'This a Test',address:Object}尝试console.log address属性,以便您可以查看如何访问子属性。然后,如果有更多的对象,也尝试记录这些对象。也许你会发现property address.street.value等。如果你能在这里设置一个演示,我想这样做,但由于模型总是链接的,我真的不明白为什么它应该是两个独立的模型。在这个余烬教程视频中,他还使用了author.name-在余烬网站上的文档中似乎找不到任何官方信息。他没有使用余烬数据,余烬和余烬数据是两个不同的产品。在没有余烬数据的情况下,余烬工作得非常好,即使使用此关系设置,您仍然可以执行
test.address.street
我在上面包括了一个示例