繁体   English   中英

余烬由于行动而向rsvp承诺中添加了一个承诺

[英]ember add an promise to a rsvp promise because of action

我有一条路线可以返回几个模型

FriendEnemyRouter

model: function() {
    return Ember.RSVP.hash({
        friends: this.store.find('People', ...),
        enemies: this.store.find('People', ..),

在同一台路由器上有一个操作(在路由器上,因为它确实存储了“事物”)

actions: {
     findMoreFriends: function(param, param) {
         var newFriends = this.store.find('People', ..); 
         var newPromise = this.controller.get('model'); //OK. Inspecting sees above friends and enemies. What type is it?

         model.set("newFriends": newPromise); // throws an exception
         //-- or --
         model.newFriends = newPromise; // no exception but observer (computer property) on the controller is not fired.
     }
 }

最终,我希望控制器上的此计算属性能够触发

 FriendEnemyController

  computedNewFriends: function() {
       ....
   ).property('newFriends');

向rsvp承诺添加新的承诺的过程是什么...甚至不确定对象类型...

         model.set("newFriends": newPromise); // throws an exception
         model.newFriends = newPromise; // no exception but clearly doesnt notify observer/property

RSVP.hash解析POJO ,这意味着它不会扩展Ember.Object 因此, setget不在对象本身上定义。 您可以在不是Ember Objects的对象上使用Ember.setEmber.get ,它将触发计算的属性。

Ember.set(model, 'newFriends', newPromise)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM