我在函数中有两个可用的ember对象,但我似乎无法弄清楚如何在它们之间创建绑定,因为我无法通过静态路径引用它们。这些对象在javascript函数中被引用为var a
和var b
。
当我无法引用其中一个对象(如App.controller.content
或类似对象)时,如何在两个对象之间创建绑定?
或者;我可以通过一些静态路径引用ArrayControllers内容中的特定ember对象吗?我已经在两个对象上尝试了很多getPath方法的变体,但似乎无法让它返回一些有用的东西。
答案 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版本的框架中发生变化。