Jquery 为什么我的范围没有定义?

Jquery 为什么我的范围没有定义?,jquery,html,angularjs,Jquery,Html,Angularjs,我有以下html: 我试图获得如下范围: console.log("app element scope: " + $('#angularHeaderDiv').scope()); 但我收到:未定义 我是angularJS初学者,我不明白为什么这不起作用 更新:这也不起作用: var appElement = document.getElementById('angularHeaderDiv'); console.log("app element scope: " + angular.elem

我有以下html:

我试图获得如下范围:

console.log("app element scope: " + $('#angularHeaderDiv').scope());
但我收到:
未定义

我是angularJS初学者,我不明白为什么这不起作用

更新:这也不起作用:

var appElement = document.getElementById('angularHeaderDiv');
console.log("app element scope: " + angular.element(appElement).scope());
更新2:我试图在控制台中打印出作用域的所有代码:

   angular.module('cmApp', [ 'pascalprecht.translate' ])
.config(function($translateProvider) {

    $translateProvider.useStaticFilesLoader({
        prefix : '/resources/angular/scripts/languages/locale-',
        suffix : '.json'
    });

    // add translation table
    $translateProvider.preferredLanguage('en');

    var appElement = document.getElementById('angularHeaderDiv');
    console.log("app element: " + angular.element(appElement).scope());
});

我认为您实际上没有
范围。假设您的意思是
$scope
,它是一个在控制器和DOM的一部分之间共享的环境,并且通过AngularJS依赖项注入机制将其注入控制器内部。除此之外,我看不到您的
“#angularHeaderDiv”
与任何作用域之间有任何关联,因为这个div甚至与任何控制器都没有关联

我对AngularJS也不是很有经验,但实际上我从未见过你在这里试图实现什么

编辑


看到您的编辑后,您正在尝试访问
config
中的DOM元素,我想说这肯定是解决问题的非AngularJS方法。我建议您阅读更多关于该框架的内容。

如果您的代码中有以下内容:

$compileProvider.debugInfoEnabled(false);
…然后
scope()
isolateScope()
将返回
undefined
。如果将其设置为
false
,您会注意到其他事情,如
ng scope
ng isolate scope
从元素的
class=
属性中消失


请参阅:

如果看不到javascript,很难说。您想做什么?我不明白为什么jQuery集合会有一个方法
.scope
,因为您在没有jQuery的情况下尝试了@ExplosionPills的Angular可能的副本,并收到了相同的结果(更新了问题)。Angular没有名为
。scope()
@RafaelEyng是正确的,您的意思是
$scope
?看看这里:还是您创建了自己的范围方法?之所以
.scope()
未定义,是因为它不存在。我想要的是获取根范围,我认为在ng应用程序中,这应该是可用的……正如我所说,$scope是控制器和DOM关联部分之间共享的环境。是的,您可以在DOM中具有嵌套的作用域和嵌套的控制器;log(“app元素:”+angular.element(appElement.scope())
,因为main已将HeaderCtrl绑定到它,但这也不起作用。问题是:您无法访问控制器外部的
$scope
(使用美元)。而且,在您的控制器中,我不认为有必要像您现在这样访问DOM元素。似乎您正在采用jQuery-ish方法来解决AngularJS问题。完全可以从控制器外部访问控制器的作用域。它不仅仅是一个参数。这是从第三方插件进入angular生命周期的常见方式。正如您所指出的,OP将无法从config函数的上下文中执行此操作,因此至少这部分是正确的。非常感谢!现在,我需要找到另一种方法从focus manager目录中的元素提取作用域。当debugInfoEnabled设置为false时,如何获取作用域?有没有其他方法可以获得元素的作用域?