角度-无法将值设置为变量

时间:2019-06-13 07:13:17

标签: angular

错误很简单。我从浏览器获取经度和纬度并打印正确的值,然后我需要将此变量传递给视图,以便将值放入变量中。我打印变量并返回null。

我使用Angular 8。

代码

  long: number;
  lat: number;    
  constructor() {}
      ngOnInit() {
        navigator.geolocation.getCurrentPosition(function(location) {
          this.lat = location.coords.latitude;
          console.log(this.lat); //RETURN NULL
          this.long = location.coords.longitude;
        });

所以有人看到代码中有什么问题吗?

1 个答案:

答案 0 :(得分:2)

问题是您使用普通的function作为getCurrentPosition的回调,因此this的上下文不是类实例。您需要使用箭头功能:

navigator.geolocation.getCurrentPosition(location => {
  this.lat = location.coords.latitude;
  console.log(this.lat); //RETURN NULL
  this.long = location.coords.longitude;
})