Javascript变量&范围

时间:2015-08-08 00:32:45

标签: javascript angularjs

我是Javascript和Angular的新手,对下面代码的执行方式感到有点困惑:

angular.controller('TestController',function($scope){
    $scope.counter = {clicks:0};
    $scope.count = function(){
        $scope.clicks += 1;
    }
});

我可以编写$ scope.clicks + = 1并且计数正确增加1. Isn不会反击Javascript对象而我们不必将其写为$ scope.counter.clicks + = 1?

2 个答案:

答案 0 :(得分:1)

Scope是执行函数的区域。 Json是一种与JavaScript不同的语言,而angular是一种js框架。你只是在点击一下。您的代码工作正常。

答案 1 :(得分:1)

你是对的。它一个javascript对象,如果这是你要增加的变量,你应该写$scope.counter.clicks += 1

我认为你与{{clicks}}具有约束力,因此你认为它正常工作,但事实并非如此(这是范围内的不同属性)。您应该绑定{{counter.clicks}}以查看“真实”值。

您可以在count()函数内写一条console.log行来查看$scope.counter.clicks的真值并自行检查。