2012-07-27 145 views
1

我有兩個可用的函數中的餘燼對象,但我似乎無法弄清楚如何創建它們之間的綁定,因爲我不能通過靜態路徑引用它們。這些對象在JavaScript函數中引用爲var avar b沒有靜態路徑的Emberjs綁定?

如何創建兩個對象之間的綁定,當我不能像App.controller.content或類似的引用其中之一?

或者,我可以通過一些靜態路徑引用ArrayControllers內容中的特定ember對象嗎?我已經嘗試了兩種對象的getPath方法的許多變體,但似乎無法讓它返回一些有用的東西。

回答

2

所有的路徑都必須與「this」(無論對象是什麼或適用什麼)或者如你所述的全局路徑相關。但是,一旦你在你提到的功能中,沒有什麼能阻止你設置相對路徑。

a.set('b': b); 

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

一旦他們互相參考,您可以添加相對路徑到您的心中的內容。我寧願通過創建一個相對範圍的方法來做到這一點,所以你不會錯過任何更新值。

我創建了一個簡單的jsfiddle來向你展示我的意思。我通常會創建一個視圖等,但試圖保持它只有幾行。

現在說,我覺得你應該能夠通過在綁定上設置_to或_from直接綁定對象。但通過該代碼翻看,似乎一切都是相對的基於路徑的&。也許轉換的東西會在1.0版本的框架中發生變化。

+0

ahh,所以我可以使用相同的路徑。偉大的信息! – oskbor 2012-07-28 19:18:23