The Ember documentation describes PromiseProxyMixin
as:
A low level mixin making ObjectProxy, ObjectController or ArrayControllers promise-aware.
(Note it does not mention Controller
.)
I have been using the PromiseProxyMixin
in a ModalController
that was originally extended from Ember.ObjectController
.
Now that ObjectController
is deprecated (Ember 1.11), I have converted this controller to extend Ember.Controller
and it no longer works as expected.
Specifically, the properties of the object that are returned to the promise
property are not automatically set in the Controller
(as they were in an ObjectController
.
My isFulfilled
observer is still firing, but the properties that should be merged from the returned object are not set.
The documentation also states:
As the controller is an ObjectController, and the json now its content, all the json properties will be available directly from the controller.
So I guess I'll just have to manually set these properties from now on?
Because the merging of properties returned by the
Promise
no longer happens automatically my options seemed to be:Controller
back toObjectController
(wrong direction)Promise
(this might make sense if I did it in a genericMyProxyMixin
or some-such)Controller
toObjectProxy
(not sure about this)ProxyMixin
I would've preferred #4, but there have been some gyrations around this mixin (it was enabled as an Ember.FEATURE for a little while but appears to have been made private again.)
Ultimately I opted for #2. (I just updated my code to copy the properties I needed to the
Controller
.)