KPR Krishnachaitanya
KPR Krishnachaitanya

Reputation: 419

Angularjs - How to access $scope variable outside a function

 angular.module('finalApp').controller('WarningsCtrl', function ($scope,HttpService) {
    HttpService.get('/warings/snowstrome').error(function(data){
        data={
            values:[
            {
                wariningtype:'snowstrome',
                warningtitle: 'Severe Snowstrom Warning',
                agentid: 100,
                name: 'Otaru-Shi',
                location:'Hokkaido',
                timezone: 'Feb 16,4:35pm Jst',
                zip:'0470028, 0470035, 0470154',
                weatherstatus:'Snow, Ice and Low Temperature Expected',
                weatheralerts:'Automated Alert Sent to 45 Customers',
                affectedcustomers:'Affected Customers HR:20, MR:20, LR:20'
            }
            ]
        };
        $scope.liveCards=data;
    });
    console.log($scope.liveCards)
});

Upvotes: 2

Views: 1212

Answers (1)

Nikhil Aggarwal
Nikhil Aggarwal

Reputation: 28455

$scope is accessible outside the get call. The console must not be showing updated data due to asynchronous nature of AJAX calls.

You can try updating function like following

angular.module('finalApp').controller('WarningsCtrl', function ($scope,HttpService) {
  var getSnowStromeWarning = function(callback) {
        HttpService.get('/warings/snowstrome').error(function(data){
        data={
         ...   
        };
        $scope.liveCards=data;
        callback();
    });
   }  
   getSnowStromeWarning(function(){
       console.log($scope.liveCards)
   });
});

Upvotes: 1

Related Questions