【问题标题】:How to serialize attribute without relationship如何序列化没有关系的属性
【发布时间】:2014-12-21 08:35:39
【问题描述】:
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:[object Object],[object Object]

为什么???

【问题讨论】:

  • 你是如何设置序列化的?

标签: ember.js ember-data


【解决方案1】:

如果您希望将config 设置为Object,为什么要将其设置为String?如果你真的想存储一个对象,你必须负责将它序列化/反序列化到 JSON(或任何其他格式)。您可以使用计算属性:

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'));
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-09
    • 2015-03-17
    • 2013-06-16
    • 2012-07-03
    • 1970-01-01
    • 1970-01-01
    • 2017-01-08
    相关资源
    最近更新 更多