Javascript 我还可以在余烬控制器中使用PromiseProxyMixin吗?

Javascript 我还可以在余烬控制器中使用PromiseProxyMixin吗?,javascript,ember-1,Javascript,Ember 1,Ember文档将PromiseProxyMixin描述为: 使ObjectProxy、ObjectController或ArrayController承诺感知的低级混合 (注意它没有提到控制器) 我一直在ModalController中使用PromiseProxyMixin,它最初是从Ember.ObjectController扩展而来的 既然ObjectController已被弃用(Ember 1.11),我已将此控制器转换为扩展Ember.controller,它不再按预期工作 具体而言,返

Ember文档将PromiseProxyMixin描述为:

使ObjectProxy、ObjectController或ArrayController承诺感知的低级混合

(注意它没有提到
控制器

我一直在
ModalController
中使用
PromiseProxyMixin
,它最初是从
Ember.ObjectController
扩展而来的

既然
ObjectController
已被弃用(Ember 1.11),我已将此控制器转换为扩展
Ember.controller
,它不再按预期工作

具体而言,返回到
承诺
属性的对象属性不会在
控制器
中自动设置(就像在
对象控制器
中一样)

My
IsCompleted
observer仍在启动,但未设置应从返回对象合并的属性

文件还指出:

由于控制器是一个ObjectController,json现在是它的内容,因此所有json属性都可以直接从控制器中获得


因此,我想从现在起,我将不得不手动设置这些属性?

PromiseProxyMixin没有被弃用,并在其他环境中使用。git上没有提到控制器。您看到的措辞已经改变,我认为继续使用是安全的

由于代理是一个ObjectProxy,json现在是它的内容,所以所有json属性都可以直接从代理中获得


由于
Promise
返回的属性的合并不再自动进行,因此我的选项似乎是:

  • 控制器
    转换回
    对象控制器
    (方向错误)
  • 手动合并
    Promise
    返回的对象的属性(如果我在泛型
    MyProxyMixin
    或类似的程序中执行此操作,则可能会有意义)
  • 控制器
    转换为
    对象代理
    (对此不确定)
  • 使用余烬的
    ProxyMixin
  • 我本来更喜欢#4,但在这个mixin中有一些回旋(它作为一个Ember.FEATURE启用了一段时间,但似乎又被私有化了)

    最终我选择了#2(我只是更新了代码,将所需的属性复制到
    控制器

    PromiseProxyMixin没有被弃用,但是
    ObjectController
    是,无论出于什么原因,
    Promise
    返回的属性不会自动合并到
    Controller
    上。但是
    PromiseProxyMixin
    的其余功能仍然有效。我能够观察到
    已经实现无事故。
    
    // Assuming the following json:
    {
      firstName: 'Stefan',
      lastName: 'Penner'
    }
    // both properties will accessible on the proxy
    proxy.get('firstName') //=> 'Stefan'
    proxy.get('lastName')  //=> 'Penner'