没有静态路径的Emberjs绑定?

时间:2012-07-27 21:50:32

标签: ember.js

我在函数中有两个可用的ember对象,但我似乎无法弄清楚如何在它们之间创建绑定,因为我无法通过静态路径引用它们。这些对象在javascript函数中被引用为var avar b

当我无法引用其中一个对象(如App.controller.content或类似对象)时,如何在两个对象之间创建绑定?

或者;我可以通过一些静态路径引用ArrayControllers内容中的特定ember对象吗?我已经在两个对象上尝试了很多getPath方法的变体,但似乎无法让它返回一些有用的东西。

1 个答案:

答案 0 :(得分:2)

所有路径必须相对于“this”(无论对象是什么,或者应用中的内容)或者如您所说的那样,是一条全局路径。但是,一旦你进入你提到的功能,没有什么能阻止你设置相对路径。

a.set('b': b);

a.set('someMethod', function(){
    return this.getPath('b.methodName');
}.property('b.methodName'));

一旦他们互相引用,您就可以为心灵内容添加相对路径。我更喜欢创建一个具有相对范围的方法,所以你不会错过任何更新值。

我创建了一个简单的jsfiddle来向您展示我的意思。我通常会创建一个View等,但试图将它保持在几行。

现在说,我觉得你应该能够通过在Binding上设置_to或_from来直接绑定对象。但仔细查看代码,似乎一切都是相对的。基于路径。也许转换的东西会在1.0版本的框架中发生变化。