我无法在Ionic2上让我的课程成为一个承诺

亚历克斯·阿雷瓦洛·马丁内斯

当我执行函数getLocalPosition()并在内部尝试设置位置类的变量时,收到下一个错误。

TypeError: Cannot read property 'setLat' of null
    at VM11086 main.js:52673
    at t.invoke (VM11035 polyfills.js:3)
    at Object.onInvoke (VM11086 main.js:34675)
    at t.invoke (VM11035 polyfills.js:3)
    at e.run (VM11035 polyfills.js:3)
    at VM11035 polyfills.js:3
    at t.invokeTask (VM11035 polyfills.js:3)
    at Object.onInvokeTask (VM11086 main.js:34666)
    at t.invokeTask (VM11035 polyfills.js:3)
    at e.runTask (VM11035 polyfills.js:3)
VM11086 main.js:52685 TypeError: Cannot read property 'setLon' of null
    at VM11086 main.js:52681
    at t.invoke (VM11035 polyfills.js:3)
    at Object.onInvoke (VM11086 main.js:34675)
    at t.invoke (VM11035 polyfills.js:3)
    at e.run (VM11035 polyfills.js:3)
    at VM11035 polyfills.js:3
    at t.invokeTask (VM11035 polyfills.js:3)
    at Object.onInvokeTask (VM11086 main.js:34666)
    at t.invokeTask (VM11035 polyfills.js:3)
    at e.runTask (VM11035 polyfills.js:3)

但是,如果我在构造函数中设置类,则效果很好。

这是我的.ts

import { Component } from '@angular/core';
import { NavController } from 'ionic-angular';
import { Geolocation } from 'ionic-native';
import { Storage } from '@ionic/storage';
import { Position } from './clases';

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {
  private position = new Position();

  constructor(public navCtrl: NavController, public storage: Storage) {
    this.position.setLat(1234311);
    console.log(this.position);
    // Or to get a key/value pair
    this.storage.get('position').then((val) => {
      this.position = val;
    }).catch((err) => {
      console.log(err);
    });
  }
  getLocalPosition() {
    Geolocation.getCurrentPosition().then((resp => {

      try {
        this.position.setLat(resp.coords.latitude);
      } catch (e) {
        if (e instanceof TypeError) {
          console.log(e);

        }
      }
      try {
        this.position.setLon(resp.coords.longitude);
      } catch (e) {
        if (e instanceof TypeError) {
          console.log(e);

        }
      }

      //this.storage.set('position', this.position);
    }))
  }


}

这是我的课

export class Position {
    private lat: number;
    private lon: number;

    constructor(lat: number = 0, lon: number = 0) {
        this.lat = lat;
        this.lon = lon;

    }
    setLat(lat: number) {
        this.lat = lat;
    }
    setLon(lon: number) {
        this.lon = lon;
    }
    getLat() {
        return this.lat;
    }
    getLon() {
        return this.lon;
    }

    getPosition() {
        let position = {
            lat: this.lat,
            lon: this.lon
        }
        return position;
    }
}

谢谢你的时间

亚历克斯·阿雷瓦洛·马丁内斯

问题出在这一行

this.storage.get('position').then((val) => {
  this.position = val;
}).catch((err) => {
  console.log(err);
});

我用val设置了this.position,并且由于它不存在而无法访问方法setLat。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我用ionic2做了一个按钮。但它根本不起作用。我添加了代码

来自分类Dev

我无法使我的最后一个索引成为第一个索引C#

来自分类Dev

我有一个手风琴短代码,但无法使其成为RTL

来自分类Dev

我正在返回一个承诺并收到:无法读取未定义的属性“then”

来自分类Dev

我想在其中一个课程中使用一个 main 制作不同的课程

来自分类Dev

IONIC 1 SERVE -L 命令在浏览器上给我一个错误

来自分类Dev

将我的Merurial存储库移到中央服务器,让我成为一个克隆

来自分类Dev

我如何才能使网站“看到我”成为一个全新的连接?

来自分类Dev

在 angular2 中将两个 URL 合并为一个 - ionic2

来自分类Dev

我如何将一个承诺resolve()转移到另一个承诺

来自分类Dev

Ionic2 Angular2:我似乎无法让ng2-chart出现在我的应用中

来自分类Dev

两个 Ionic2 菜单:显示一个。另一个不是

来自分类Dev

使我两个不同的R函数成为一个函数

来自分类Dev

如何从我的本体中的另一个本体中调用课程?

来自分类Dev

我想要一个学习计算机科学的课程

来自分类Dev

iOS:我有一个要求 textview 成为第一响应者

来自分类Dev

我如何使它成为一个流畅的相机?(统一 C# 编程)

来自分类Dev

将变量值传递给 ionic2 中的另一个组件

来自分类Dev

我想在html上创建一个按钮,但无法适应图像

来自分类Dev

我无法在表格布局面板中的最后一个单元格上单击

来自分类Dev

我可以在一个按钮上添加2个功能吗(Unity)

来自分类Dev

我在用户类上定义了一个属性,但我无法在登录操作中获取它的值

来自分类Dev

我怎样才能使这个bash脚本成为一个单行?

来自分类Dev

当我应该成为真时得到一个错误的布尔值

来自分类Dev

我有一个PreferenceFragment,如何使其成为自己的Activity?

来自分类Dev

如何使我当前的文件系统成为 BTRFS 中的第一个根文件系统

来自分类Dev

我可以在链接中放置一个输入字段,而不使输入也成为链接吗?

来自分类Dev

无论高度如何,我都想让 imageView 成为一个完美的正方形

来自分类Dev

我怎样才能使它成为一个准备好的语句代码?

Related 相关文章

  1. 1

    我用ionic2做了一个按钮。但它根本不起作用。我添加了代码

  2. 2

    我无法使我的最后一个索引成为第一个索引C#

  3. 3

    我有一个手风琴短代码,但无法使其成为RTL

  4. 4

    我正在返回一个承诺并收到:无法读取未定义的属性“then”

  5. 5

    我想在其中一个课程中使用一个 main 制作不同的课程

  6. 6

    IONIC 1 SERVE -L 命令在浏览器上给我一个错误

  7. 7

    将我的Merurial存储库移到中央服务器,让我成为一个克隆

  8. 8

    我如何才能使网站“看到我”成为一个全新的连接?

  9. 9

    在 angular2 中将两个 URL 合并为一个 - ionic2

  10. 10

    我如何将一个承诺resolve()转移到另一个承诺

  11. 11

    Ionic2 Angular2:我似乎无法让ng2-chart出现在我的应用中

  12. 12

    两个 Ionic2 菜单:显示一个。另一个不是

  13. 13

    使我两个不同的R函数成为一个函数

  14. 14

    如何从我的本体中的另一个本体中调用课程?

  15. 15

    我想要一个学习计算机科学的课程

  16. 16

    iOS:我有一个要求 textview 成为第一响应者

  17. 17

    我如何使它成为一个流畅的相机?(统一 C# 编程)

  18. 18

    将变量值传递给 ionic2 中的另一个组件

  19. 19

    我想在html上创建一个按钮,但无法适应图像

  20. 20

    我无法在表格布局面板中的最后一个单元格上单击

  21. 21

    我可以在一个按钮上添加2个功能吗(Unity)

  22. 22

    我在用户类上定义了一个属性,但我无法在登录操作中获取它的值

  23. 23

    我怎样才能使这个bash脚本成为一个单行?

  24. 24

    当我应该成为真时得到一个错误的布尔值

  25. 25

    我有一个PreferenceFragment,如何使其成为自己的Activity?

  26. 26

    如何使我当前的文件系统成为 BTRFS 中的第一个根文件系统

  27. 27

    我可以在链接中放置一个输入字段,而不使输入也成为链接吗?

  28. 28

    无论高度如何,我都想让 imageView 成为一个完美的正方形

  29. 29

    我怎样才能使它成为一个准备好的语句代码?

热门标签

归档