簡體   English   中英

AngularJS控制器范圍

[英]AngularJS controller scope

我有一個控制器:

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

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

我不理解,因為當go變量更改progressRun函數中的值時, console.log不會顯示正確的值,並且它在progressRun函數之前和之后調用。

更改progressRun()函數中的go變量后,只需移動console.log()

 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 suggestes)。

更改后記錄值

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

或者,在變量上使用$watch

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

PS: $watch將在每次值更改時記錄日志。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM