2017-08-16 122 views
0

技術: AngularJS訪問父範圍對象

語境:

我有兩個指令:行和列。在行的模板,一個有NG重複,像這樣:

<column ng-repeat="column in row.childs"></column> 

在列的指示,我在我的範圍兩個對象:列和設置。 「設置」需要在「列」之外,並且都在列的模板內進行訪問。

問:

有沒有一種方法來檢索「列」的父範圍對象,所以我可以進入「設置」?喜歡的東西:

column.scope().settings 

我知道我既可以由使其通過參數或使用angular.element('#' + column.id).scope()但我想,以避免對結構和性能的原因檢索列的範圍。

也許有一種方法可以從$$ hashKey檢索範圍?

+0

您是否嘗試過使用列範圍的'$ parent'屬性?另外,列指令的代碼似乎很有用。 – kenda

+0

@kenda,$ parent只能在範圍內訪問。 「列」不是一個範圍,而是一個子對象。 –

+0

對,所以我沒有得到你的問題,你的意思是從一個簡單的對象中檢索一個範圍: -/ – kenda

回答

0

終於找到了解決我的問題!

在 「列」 的指令,我只是創建了一個功能:

/** 
* Get widget's scope 
*/ 
$s.column.getScope = function() { 

    return $s; 
}; 

而且它的偉大工程。