Ember:如何在把手语法中显示相关数据(Ember数据)?

时间:2013-08-13 15:04:47

标签: ember.js ember-data

请参阅http://jsfiddle.net/cyclomarc/VXT53/6/

我的数据形式为:

 publication: {
        id: '1',
        title: 'first title',
        bodytext: 'first body',
        author: {
          id: '100',
          name: 'Jan'
        }
      },

我想在hbs部分显示作者姓名。在出版物hbs(显示每个出版物)中,我使用以下语法,但这不起作用:

{{publication.author.name}}

在出版物/编辑hbs(在出版物中选择后编辑一个出版物)中,我使用以下语法,但这不起作用:

{{author.name}}

我应该如何访问嵌入数据?

1 个答案:

答案 0 :(得分:1)

首先,你的工作小提琴,抱歉我将它移植到jsbin,因为我更喜欢它但是这不会以任何方式影响功能:http://jsbin.com/ifukev/2/edit

现在我已经改变了,基本上我所做的就是定义一个App.Author有很多出版物而一个App.Publication属于一个App.Author并完成了各自的FIXTURES :

App.Author = DS.Model.extend({
  name: DS.attr('string'),
  publications: DS.hasMany('App.Publication'),
  didLoad: function () {
    console.log('Author model loaded', this);
  }
});

App.Publication = DS.Model.extend({
  title: DS.attr('string'),
  bodytext: DS.attr('string'),
  author: DS.belongsTo('App.Author'),
  didLoad: function () {
    console.log('Publication model loaded', this);
  }
});

//FIXTURES DATA
App.Publication.FIXTURES = [
  {
    id: '1',
    title: 'first title',
    bodytext: 'first body',
    author: 100
  },
  {
    id: '2',
    title: 'second title',
    bodytext: 'second post',
    author: 300
  }
];

App.Author.FIXTURES = [
  {
    id: '300',
    name: 'Marc',
    publications: [2]
  },
  {
    id: '100',
    name: 'Jan',
    publications: [1]
  }
];

希望它有所帮助。