Почему аргументы create () не ведут себя больше как setProperties ()?
Что-то, что я нахожу очень нелогичным в Ember, это то, что вы можете перезаписать вычисляемые функции установщика свойств (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/
Единственная причина, по которой я могу видеть текущее поведение, заключается в том, чтобы делать переопределенные для метода установки методы. Но в этих случаях вы могли бы так же легко сделатьMyClass.extend({ overridenMethod: ... }).create(properties)
Будет ли такое изменение рассматриваться для Ember 1.0? Или у меня просто неверное представление о том, как должна работать объектная модель Ember?