Angularjs 角度控制器:父指令的访问范围

Angularjs 角度控制器:父指令的访问范围,angularjs,angularjs-directive,angularjs-scope,angularjs-controller,Angularjs,Angularjs Directive,Angularjs Scope,Angularjs Controller,我有一个指令myDirective,带有一个嵌套的控制器myCtrl(是的,我知道这不是一个好的设计实践,我稍后会重构它,但我现在没有时间重构它)。在指令中,我定义了一个变量customID。我需要访问myCtrl范围内的customID。问题是,customID对于myDirective的每个实例都是唯一的,因此(我可能错了)我认为服务不起作用,因为myDirective的所有实例都会获得相同的customID值 有没有一种简单的方法可以将customID从myDirective传递到myCt

我有一个指令
myDirective
,带有一个嵌套的控制器
myCtrl
(是的,我知道这不是一个好的设计实践,我稍后会重构它,但我现在没有时间重构它)。在指令中,我定义了一个变量
customID
。我需要访问
myCtrl
范围内的
customID
。问题是,
customID
对于
myDirective
的每个实例都是唯一的,因此(我可能错了)我认为服务不起作用,因为
myDirective
的所有实例都会获得相同的
customID

有没有一种简单的方法可以将
customID
myDirective
传递到
myCtrl

<div myDirective>
    <div id="{{customID}}"></div>
    <div ng-controller="myCtrl">
        {{customID}}
    </div>
</div>

{{customID}}

如果您将myDirective和myCtrl的源代码添加到您的问题中,将会很有帮助。当心骆驼案!myDirective不是有效的名称:如果将该指令本身称为myDirective,则该指令应为myDirective。
customID
应在
myCtrl
的范围内可用。控制器不会创建孤立的作用域。谢谢大家的建议。最后,我回到绘图板,将嵌套的控制器重构为一个指令,然后我可以这样初始化:
您是否尝试使用scope.$parent,即使您的指令有一个独立的作用域,这也应该有效。这是我尝试的第一件事。当我在
MyCtrl
中调用
$scope.$parent
时,我没有得到
myDirective
的作用域。我取而代之的是
myDirective
的父控制器的作用域。可能是
$scope.$parent
不识别指令作用域,因为它们是隔离的?