AngularJS控制器范围

时间:2016-05-12 09:19:54

标签: javascript angularjs

我有一个控制器:

appControllers.controller('MeetingListController', ['$scope', '$route', '$location', function($scope, $route, $location){
    console.log($scope.go);

    $scope.progressRun = function($event){
        $scope.go = true;
    };
});

我不会因为progressRun函数中的变量值变化而变得不足, console.log没有显示正确的值,它在progressRun函数之前和之后调用。

2 个答案:

答案 0 :(得分:3)

更改console.log()功能中的go变量后,只需移动progressRun() ...:

 appControllers.controller('MeetingListController', ['$scope', '$route', '$location', function($scope, $route, $location) {
    $scope.go = 'initial value you want to assign to this variable';

    $scope.progressRun = function($event) {
        $scope.go = true;
        console.log($scope.go);
    };

 }]);

<强>更新 如果您想随时记录变量值 它会发生变化(即使它的值应该在 progressRun()函数之外更改,请使用:

$scope.$watch('go', function() {
    console.log($scope.go);
});

go变量初始化之后(正如@Shreevardhan建议的那样)。

答案 1 :(得分:0)

更改后记录值

$scope.go = true;
console.log($scope.go);

或者,对变量

使用$watch
$scope.$watch('go', function() {
    console.log($scope.go);
});

PS:每次值更改时都会记录$watch