gpt4 book ai didi

angular - @viewChild 返回未定义

转载 作者:太空狗 更新时间:2023-10-29 18:16:56 28 4
gpt4 key购买 nike

我已经检查了这个问题的其他答案,但到目前为止似乎没有任何帮助。我正在尝试在 ionic 2 应用程序中显示 map 。但是当我尝试选择 #map 时div 它返回未定义。这是代码

page1.html <div id="map" #mapDiv style="height:380px;"></div>

page1.ts

import { Component, AfterViewInit, ViewChild, ElementRef } from '@angular/core';

import { NavController } from 'ionic-angular';

declare var google;

@Component({
selector: 'page-page1',
templateUrl: 'page1.html',
})
export class Page1 implements AfterViewInit {
@ViewChild('mapDiv') mapDiv:ElementRef;
map;
t;

constructor(public navCtrl: NavController) {
this.initMap();
}

ngAfterViewInit(){
console.log('My element: ' + this.mapDiv);
}

initMap()
{
this.map = new google.maps.Map(this.mapDiv.nativeElement, {
center: new google.maps.LatLng(51.505, -0.09),
mapTypeId: google.maps.MapTypeId.ROADMAP,
zoom: 11
});

this.t = new Date().getTime();
var waqiMapOverlay = new google.maps.ImageMapType({
getTileUrl: function(coord, zoom) {
return 'http://tiles.aqicn.org/tiles/usepa-aqi/' + zoom + "/" + coord.x + "/" + coord.y + ".png?token=_TOKEN_ID_";
},
name: "Air Quality",
});

this.map.overlayMapTypes.insertAt(0,waqiMapOverlay);
}

}

控制台错误

`Error in ./Page1 class Page1_Host - inline template:0:0 caused by: Cannot read property 'nativeElement' of undefined`

请告诉我哪里弄错了。我想选择 div,以便 map 可以显示在 #map 中分区

提前致谢

最佳答案

您在构造函数中调用 initMap()

@ViewChild('mapDiv') mapDiv:ElementRef; 在调用 ngAfterViewInit() 之前未初始化。

关于angular - @viewChild 返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40299808/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com