2016-11-14 5 views
0

Я хочу изменить атрибуты в модели.
модели/example.js:Ember.js: как изменить данные в RESTSerializer

export default DS.Model.extend({ 
    value: DS.attr('number'), 

    modified_value: function() { 
    /*Some Calculations*/ 
    return modified_value 
    }.property('value'), 
}) 

выше код работает отлично, но это создает еще один дополнительный атрибут в модели. Чтобы избежать этого, я хочу переместить его в RESTSerializer. Как это сделать?

ответ

0

Создайте новый файл (example.js) в преобразованиях каталога.

export default DS.Transform.extend({ 
    deserialize: function(serialized) { 
    return serialized; 
    // if (serialized) { 
    // return JSON.stringify(serialized); 
    // } else { 
    // return ''; 
    // } 
    }, 

    serialize: function(deserialized) { 
    return deserialized; 
    // if (deserialized) { 
    // return JSON.stringify(deserialized); 
    // } else { 
    // return []; 
    // } 
    } 
}); 

В вашем модельном примере файла изменить Attr к DS.attr ('пример')

export default DS.Model.extend({ 
    value: DS.attr('example'),