AngularJs:未捕获的ReferenceError:$ scope未在调试器模式下定义

时间:2015-10-23 18:22:46

标签: javascript angularjs angularjs-scope referenceerror angular-controller

我有以下代码:

HTML

<div ng-controller="MyCtrl">
   {{message}}!
    <button ng-click="changeMessage()">change Message</button>
</div>

AngularJs

var myApp = angular.module('myApp',[]);

function MyCtrl($scope, $http) {
    $scope.message = 'Hello $scope';
    $scope.newMessage = 'Hello World';
    $scope.changeMessage = function(){
        $scope.message = $scope.newMessage;//debugger;
    }
}

在这种情况下,没有问题。 但是,如果你改变这一行:

$scope.message = $scope.newMessage;

使用:

debugger;

然后单击按钮,在控制台打开的同时写下$scope,您将收到此错误:

Uncaught ReferenceError: $scope is not defined

所以我的问题是:

  • 为什么在函数内部使用$scope时可以访问$scope,并且在调试模式下无法访问{当您在函数中某处未使用$scope时< / LI>
  • 在这种情况下如何使用$http,因为$http也无法访问

Jsfiddle

注意:也许这是重复的问题,但我没有找到这个问题的直接解释,以及解决方案

0 个答案:

没有答案