我不确定这是否真的可行,但我本质上想要一个反向的 AngularJS 中的“&”隔离范围。这是一个Plunkr来演示。
基本上,我设置了一个自定义指令来提供一些可重用的 HTML。它ng-transclude
用于允许在其中呈现一些外部内容。但是,我发现了一种情况,我想从代码的嵌入部分访问已在指令的隔离范围上设置的函数。
所以基本上我有一些看起来像:
<div ng-controller="MainController">
<!-- The directive -->
<div some-custom-directive>
<!-- Button 1 that invokes a method within the controller scope -->
<button id="button1" ng-click="invoke1()">Invoke from Controller</button>
<!-- Button 2 that invokes a method on the isolate scope for the custom directive -->
<button id="button2" ng-click="invoke2()">Invoke from Isolate Scope</button>
</div>
</div>
有谁知道这是否真的可能?
更新
根据@Mark Rajcok 的回答,在$$prevSibling
上找到的$scope
可用于从嵌入内容中访问指令的隔离范围。但是,我已经更新了上述 Plunkr 以从ng-repeat
指令中尝试此操作,但该指令不起作用。我假设该重复中的项目不继承范围。