Что-то, что я нахожу очень интуитивно понятным в отношении Ember, вы можете перезаписать функции setput set setter (http://emberjs.com/#toc_computed-properties-setters) с аргументами create()
. См. http://jsfiddle.net/zJQJw/2/
Я нашел, что лучшим решением для этого является вызов create().setProperties(properties)
вместо create(properties)
, но для меня это кажется ненужным. Я понимаю, что это может сломать некоторые приложения на данный момент, но рассмотрите ли вы возможность сделать create()
более похожим на setProperties()
?
Мотивация для этого заключается в том, что init()
будет вызываться до setProperties()
при использовании шаблона create().setProperties(properties)
. Это еще не было большой проблемой, но я вижу, что это нежелательно в некоторых ситуациях. Это надуманный пример, но, может быть, вы можете видеть, что я получаю? http://jsfiddle.net/QJ8vX/2/
Единственная причина, по которой я могу наблюдать за текущим поведением, - это переопределить специфические для экземпляра методы setter. Но в таких случаях вы можете так же легко сделать MyClass.extend({ overridenMethod: ... }).create(properties)
Будет ли такое изменение рассмотрено для Ember 1.0? Или у меня есть неправильное представление о том, как должна работать модель объекта Ember?