Javascript 使用“时,是否有方法获取角度控制器的名称空间?”;控制器为;语法?

Javascript 使用“时,是否有方法获取角度控制器的名称空间?”;控制器为;语法?,javascript,angularjs,Javascript,Angularjs,给出如下的AngularJSngController指令: <div ng-controller="SomeCtrl as herpderp">…</div> … 是否有一种方法可以从内部SomeCtrl获取名称空间(“herpderp”)?例如,当我想使用“herpderp”将特定控制器实例注册到我的应用程序的其他部分时,或者在$scope.$id无法使用的明确名称下跟踪控制器 澄清/更新:我知道在我的控制器代码中,我可以访问$scope.herpderp-在这个特

给出如下的AngularJS
ngController
指令:

<div ng-controller="SomeCtrl as herpderp">…</div>
是否有一种方法可以从内部
SomeCtrl
获取名称空间(“herpderp”)?例如,当我想使用“herpderp”将特定控制器实例注册到我的应用程序的其他部分时,或者在
$scope.$id
无法使用的明确名称下跟踪控制器


澄清/更新:我知道在我的控制器代码中,我可以访问
$scope.herpderp
-在这个特定示例中。问题是,我正在编写一个控制器,它可能会在页面的不同部分、不同的“名称”下实例化几次,因此
$scope
属性(
herpderp
在上面的示例中)每次都会不同。因此,以我的示例为例,我想获得“B”在
ng controller=“A as B”
SomeCtrl as herpderp
)中的信息

当您将控制器用作语法时,您的控制器仍将连接到作用域。因此,您可以说
$scope.herpderp.foo
来访问控制器上的某些内容。从控制器内部,您可以使用
this.foo
访问同一变量。从html中可以使用
herpderp.foo


不确定这是否回答了您的问题。

那么您想从控制器中了解您是如何创建它的?e、 g.
MyCtrl作为A
vs
MyCtrl作为B
。如果是这样的话,我想你可以这样做

for (key in $scope) {
    if ($scope[key] === this) {
        //if you created the controller with "MyCtrl as X" then this will log "X"
        console.log(key);
    }
}

通过名称空间,您是指angular模块吗?我的意思是,我想获取信息“在$scope中,这个控制器实例被称为
herpderp
”。从html获取范围数据就像{{myVar}一样简单如果您将其声明为$scope。myVar@Dalorzo:谢谢,但这不是我要问的,很抱歉造成混淆。请参阅原始问题中添加的澄清。不幸的是,不是。我刚刚在原始问题中添加了澄清。