Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 什么会阻止从浏览器控制台访问AngularJS$scope?_Javascript_Angularjs_Console_Angularjs Scope - Fatal编程技术网

Javascript 什么会阻止从浏览器控制台访问AngularJS$scope?

Javascript 什么会阻止从浏览器控制台访问AngularJS$scope?,javascript,angularjs,console,angularjs-scope,Javascript,Angularjs,Console,Angularjs Scope,我过去做过几个使用AngularJS的项目。在开发中,我总是能够在浏览器控制台中调用$scope,从而调用它的所有变量。例如,$scope.myArray将返回类似[]或[object1,object2]的内容 但是,现在当我键入$scope时,我得到: 未捕获引用错误:$未定义作用域 我也看过其他帖子,比如,建议使用angular.element$0.scope,但当我在控制台中键入时,我得到: 未定义 而且我不能访问像myArray这样的对象,即使我知道它正在被创建。有人知道发生了什么变化吗

我过去做过几个使用AngularJS的项目。在开发中,我总是能够在浏览器控制台中调用$scope,从而调用它的所有变量。例如,$scope.myArray将返回类似[]或[object1,object2]的内容

但是,现在当我键入$scope时,我得到:

未捕获引用错误:$未定义作用域

我也看过其他帖子,比如,建议使用angular.element$0.scope,但当我在控制台中键入时,我得到:

未定义

而且我不能访问像myArray这样的对象,即使我知道它正在被创建。有人知道发生了什么变化吗


编辑:当我尝试以前的项目中的代码时,我也遇到了这个问题,我曾经能够访问$scope,因此我认为这不是一个简单的实现错误。

$0是对元素选项卡中所选DOM节点的引用,因此通过这样做,您可以在控制台中打印出所选DOM节点范围

您必须先获取元素。 或者,您可以只获取指定的范围。 例:


在控制器的定义中,放置window.myScope=$scope。然后在控制台中,您可以调用myScope.myArray将内容返回给您

例如:


检查此项,它仍然与依赖项注入一起工作,在任何地方都可能$0没有引用正确的元素。为您的元素找到一个选择器,例如,通过检查元素,右键单击元素面板中的元素,然后单击获取CSS路径,然后执行angular.element CSS路径.scope。我在chrome中使用AngularJS Batarang,这使我能够在控制台中键入$scope。您是否也使用了此扩展,并在卸载后意外忘记了扩展?@TjaartvanderWalt感谢您建议使用Batarang。这将有助于我进行调试,尽管我仍然希望使用以前的功能从控制台中调用$scope。我仍然无法使其正常工作。我输入angular.element.button.scope;得到这个:未捕获错误:[jqLite:nosel]http://errors.angularjs.org/1.3.14/jqLite/noselThat这是jqLite的问题。试试这个。angular.elementdocument.getElementsByTagNamebutton[0]。作用域
angular.element('‪#‎element‬').scope();
angular.element(document.getElementsByTagName("button")[0]).scope()
var app = angular.module('myApp', [])

app.controller('myCtrl', function($scope) {
window.myScope = $scope; //this allows console access

$scope.myArray = [];
//more code here
});