我发现关于 Ember 非常违反直觉的一点是,您可以使用create()
. 见http://jsfiddle.net/zJQJw/2/
我发现最好的解决方法是调用create().setProperties(properties)
而不是调用create(properties)
,但这对我来说似乎是一个不必要的问题。我意识到此时它可能会破坏某些应用程序,但是您会考虑让create()
行为更像setProperties()
吗?
我提出这个要求的动机是在使用该模式init()
之前会调用它。这还不是一个大问题,但我可以看到这在某些情况下是不可取的。这是一个完全人为的例子,但也许你能看到我在说什么?http://jsfiddle.net/QJ8vX/2/setProperties()
create().setProperties(properties)
我可以看到保持当前行为的唯一原因是对 setter 方法进行特定于实例的覆盖。但在这些情况下,你可以很容易地做到MyClass.extend({ overridenMethod: ... }).create(properties)
Ember 1.0 会考虑这样的改变吗?还是我对 Ember 的对象模型应该如何工作有错误的想法?