2017-08-16 120 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; 
}; 

而且它的伟大工程。