Ember.js 计算属性是否依赖于其他模型属性?

Ember.js 计算属性是否依赖于其他模型属性?,ember.js,Ember.js,我有一个模型: app.ObjectOne = Em.Object.extend({ id: null, count: null }); 还有另一个模型,它计算了属性'SomeProperty',我想依赖于ObjectOne的属性'count' app.ObjectTwo = Em.Object.extend({ id: null, someProperty: function(){ return count+5; }.property('a

我有一个模型:

app.ObjectOne = Em.Object.extend({
    id: null,
    count: null
});
还有另一个模型,它计算了属性'SomeProperty',我想依赖于ObjectOne的属性'count'

app.ObjectTwo = Em.Object.extend({
    id: null,
    someProperty: function(){
      return count+5;
    }.property('app.SomeObjectController.count')

});
那么,我可以这样做吗? 或者有没有其他方法可以做到这一点


其主要思想是ObjectOne模型的数据在ObjectTwo之后,因此我需要重新计算属性并重新渲染视图。如果我理解得很好,您想要的行为正是Ember.js可以带给您的

首先,这里是一个非常基本的模板:


在这里,每次更新此属性时都会更新模板(相当于绑定属性)
{{App.objectTwo.someProperty}
​
下面是javascript。我不知道您是否真的想在这里使用ObjectController,但您提到了它,所以我使用了它。ObjectController在其
内容
属性周围充当代理。这意味着someObjectController.get('count')将尝试从控制器本身获取
count
属性,如果该属性不存在,则控制器将从其内容中检索
count
属性

App=Ember.Application.create();
App.someObjectController=Ember.ObjectController.create();
App.ObjectOne=Em.Object.extend({
id:null,
计数:空
});
App.objectOne=App.objectOne.create({
id:1,
计数:42
});
App.someObjectController.set('content',App.objectOne);
App.ObjectTwo=Ember.Object.extend({
id:null,
someProperty:function(){
返回App.someObjectController.get('count')+5;
}.property('App.someObjectController.count')
});
App.objectTwo=App.objectTwo.create({
身份证号码:1
});
//在3秒内,count属性设置为0。您可以看到模板已更新
Ember.run.later(函数(){
App.objectOne.set('count',0);
},3000);

这是正在工作的JSFIDLE:

对于ArrayController,someProperty依赖于什么属性?我的意思是App.someObjectController=Ember.ArrayController.create();里面有一系列的物体。someProperty是否依赖于数组中的任何对象?我预计5秒钟后,当向oController内容数组添加两个以上的对象时,视图中{{computed}}的值将发生更改。但是他们没有。嗯,你在计算中犯了一个错误,你声明了obj,但是你使用了object;)。哦,魔术!它起作用了!=)非常感谢你。因此,要依赖的preperty值是App.oController.@each