如何无关系地序列化属性

时间:2014-12-20 19:29:10

标签: ember.js ember-data

App.Product = DS.Model.extend({
  families: DS.hasMany('family'),
  name: DS.attr('string'),
  config: DS.attr('string')
});


Product.set('name', 'Mark');
Product.save();

保存前的配置属性:

config:[ { key: color, value: [Array : 2] }, ... ] 

保存后的config属性:

config:[object Object],[object Object]

为什么???

1 个答案:

答案 0 :(得分:0)

如果您希望config成为Object,为什么要将String设置为config: DS.attr('string'), configObject: function(key, value, previousValue) { // setter if (arguments.length > 1) { this.set('config', JSON.stringify(value)); } // getter return JSON.parse(this.get('config')); } ?如果你真的想要存储一个对象,你必须负责将它序列化/反序列化为JSON(或其他任何格式)。您可以使用计算属性:

{{1}}