2

我有以下代码:

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函数中的某处时)
  • 在这种情况下如何使用$http,因为$http也无法访问

Jsfiddle

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

4

0 回答 0