Javascript Angular JS不更新ng绑定值
我想说的是,我是angular.js开发人员中的一名新手,只使用angular.js开发了大约2个月的基本测试应用程序。现在我得到了我正在实施的第一个小项目,我可以解决一个问题 问题是我有两组变量,我正在从控制器更新。这些变量正在从回调函数更改,因此angular不知道它们已更改。我读到,如果在角度上下文之外更改变量,视图将不会更新 第二个问题是,我正在使用控制器As方法初始化控制器,因为我知道这是使控制器(最佳实践)的方法。使用这种类型的控制器初始化,我无法访问$scope 解决方案:这是否需要作为指令来实现,以实现我正在尝试做的事情或其他模式 HTML代码:Javascript Angular JS不更新ng绑定值,javascript,angularjs,Javascript,Angularjs,我想说的是,我是angular.js开发人员中的一名新手,只使用angular.js开发了大约2个月的基本测试应用程序。现在我得到了我正在实施的第一个小项目,我可以解决一个问题 问题是我有两组变量,我正在从控制器更新。这些变量正在从回调函数更改,因此angular不知道它们已更改。我读到,如果在角度上下文之外更改变量,视图将不会更新 第二个问题是,我正在使用控制器As方法初始化控制器,因为我知道这是使控制器(最佳实践)的方法。使用这种类型的控制器初始化,我无法访问$scope 解决方案:这是否需
<div class="container-fluid navbar-fixed-top text-center" ng-controller="geoloc as GCController">
<div class="row">
<div class="col-xs-12">
{{GCController.lat}}
</div>
<div class="col-xs-12">
{{GCController.lon}}
</div>
</div>
</div>
提前谢谢。你能粘贴你的代码吗?查看Angularjs digest cycle上的这篇文章
angular
.module('geoapp')
.controller('geoloc', geoloc);
geoloc.$inject = [];
/* @ngInject */
function geoloc() {
var vm = this;
vm.activate = activate;
vm.title = 'geoloc';
vm.lat = 0;
vm.lon = 0;
vm.error = false;
test = 0;
activate();
////////////////
function activate() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function (position) {
console.log("Setting" + position.coords.latitude + " " + position.coords.longitude);
vm.lat = position.coords.latitude;
vm.lon = position.coords.longitude;
});
}
else {
vm.error = true;
}
}
}