簡體   English   中英

Angular2數組對象

[英]Angular2 Array objects

我想添加一個對象數組,但是它不起作用: Can not set property '0' of undefined

我嘗試放入this.positions [0] = PositionMap對象

為了減小可讀性,我減小了代碼的大小,但是其余的工作正常

這是我的代碼:

import { Component, ViewChild, ElementRef } from '@angular/core';
import { NavController } from 'ionic-angular';
import { FormBuilder, FormGroup, Validators } from '@angular/forms';
import { Geolocation } from 'ionic-native';

declare var google;

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {

  positions: PositionMap[] = [];

  @ViewChild('map') mapElement: ElementRef;

  constructor(public navCtrl: NavController) {
    this.positions = [];
  }

ionViewDidLoad(){
    this.loadMap();
    this.autocomplete();
  }

  autocomplete() {
      autocompleteDepart.addListener('place_changed', function() {
        var place = autocompleteDepart.getPlace();
        let tmpPosition = new PositionMap(place.geometry.location.lat(), place.geometry.location.lng()); 
        this.positions[0] = (tmpPosition); 
        return;
      });
  }
}

export class PositionMap {
  latitude: number;
  longitude: number;
  constructor(_latitude: number, _longitude: number) {
     this.latitude = _latitude;
     this.longitude = _longitude;
  }
}

我的表在類和構造函數中已聲明,但在函數中未知。

您正在通過回調函數使用this 此回調函數必須首先綁定到this 最簡單的方法是使用箭頭功能:

autocompleteDepart.addListener('place_changed', () => {
  ...
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM