Я использую angularJS.. и я не знаю, работает ли глобальная переменная. У меня есть значение от функции, которую я хотел бы сохранить в переменной $ scope. Вот мой код:
$scope.currentPositionLat='';
// center to the geoIP
$window.navigator.geolocation.getCurrentPosition(function(position) {
$scope.currentPositionLat = position.coords.latitude;
Locations.reverseGeoCode(position.coords.latitude,position.coords.longitude).then(function(loc){
//$scope.loc = loc;
console.log(position.coords.latitude);
console.log(loc);
});
}, function(error) {
// alert(error);
});
console.log('position' + $scope.currentPositionLat);
Переменная $ scope.currentPositionLat возвращается пустым. (я думаю, потому что я объявляю его пустым). Как я могу заставить его получить значение внутри функции?
Если вы хотите, чтобы переменная области была глобальной, используйте $ rootScope.
Вы можете присвоить переменной имя, например, $ rootScope.username, а затем вызвать его на любом контроллере, в котором вы нуждаетесь.
Помните, что глобальные переменные приходят с большим предупреждением. Вы должны быть уверены, что вам нужно использовать его, прежде чем выполнять его.
.value('Location', Locations)
и затем внедрить это в контроллеры, если вы хотите перенести внешние библиотеки в мир угловposition
, который передается? и когда вызывается эта функция?