1

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

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

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

4

1 回答 1

2

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

a.set('b': b);

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

一旦它们相互引用,您就可以将相对路径添加到您的心脏内容中。我宁愿这样做而不是创建具有相对范围的方法,这样您就不会错过任何更新值。

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

话虽如此,我觉得您应该能够通过在绑定上设置 _to 或 _from 直接在对象之间绑定。但是通过该代码,似乎一切都是相对的和基于路径的。也许转换的东西会在框架的 1.0 版本中发生变化。

于 2012-07-28T02:25:11.943 回答