Преобразование Ember зачем использовать Ember.create() в операторе возврата десериализации

#javascript #ember.js

#javascript #ember.js

Вопрос:

В документах Ember функциональность преобразования объясняется на примере. У меня проблема с пониманием одной вещи.

Вопрос:

Почему они используют Ember.create() в функции десериализации вместо только чистого объекта?

Например, возвращать { x: значение[0], y: значение[1] } вместо Ember.create({ x: значение[0], y: значение[1] }).

Каковы преимущества использования Ember.create() (особенно в функции преобразования)?

 App.CoordinatePointTransform = DS.Transform.extend({
  serialize: function(value) {
    return [value.get('x'), value.get('y')];
  },
  deserialize: function(value) {
    return Ember.create({ x: value[0], y: value[1] });
  }
});
App.Cursor = DS.Model.extend({
  position: DS.attr('coordinatePoint')
});
  

Ответ №1:

Это создает новые экземпляры с этими свойствами (по сути, другую копию). В этом случае это не имеет никакого значения и может быть просто хэшем.

Идентично Object.create(). Реализует, если не доступно изначально.

http://emberjs.com/api/#method_create