序列化强调的属性ember-data

serialize underscored property ember-data

本文关键字:属性 ember-data 序列化      更新时间:2023-09-26

除了下划线属性外,我的序列化器工作得很好。来自服务器的JSON的结构为:

var services = {
    services:[{
      id:8,
      name:"Codin'",
      service_category:{
        id:5,
        iso_code:"BDT",
        prop:"Ohmmmm"
      }
    },
      {
      id:7,
      name:"PR",
      service_category:{
        id:2,
        iso_code:"SFD",
        prop:"Naraya"
      }
    }] 
  };

序列化后,负载看起来像这样:

var services = {
    services:[{
      id:8,
      name:"Codin'",
      service_category:5
    },
      {
      id:7,
      name:"PR",
      service_category:2
    }],
    serviceCategories:[{
        id:5,
        iso_code:"BDT",
        prop:"Ohmmmm"
      },
     {
        id:2,
        iso_code:"SFD",
        prop:"Naraya"
      }
    ]
  };

但是如果在模板中我不能访问serviceCategory的prop

的模型
App.Service = DS.Model.extend({
    name: DS.attr('string'),
    serviceCategory: DS.belongsTo('serviceCategory')
});
App.ServiceCategory = DS.Model.extend({
    iso_code: DS.attr('string'),
    prop:DS.attr()
});
以下是JsBin: http://jsbin.com/OxIDiVU/565

您的json中有service_category作为服务中的属性名。

简单的修复方法是:

App.Service = DS.Model.extend({
    name: DS.attr('string'),
    service_category: DS.belongsTo('serviceCategory')
});

 <td>{{item.service_category.prop}} </td>
http://jsbin.com/OxIDiVU/570/edit