我正在努力将地图放在第二段。这是一个典型的问题,而且我找到了几个解决方案,但它们并不适合我,因为事件似乎在完全构建段之前被解雇了。我不知道这是因为Ionic的突然变化,还是因为我做错了。
page.html中:
<ion-toolbar>
<ion-segment [(ngModel)]="view" (ionChange)="changeSegment()">
<ion-segment-button value="list">
<ion-icon name="list-box" isActive="false"></ion-icon>
</ion-segment-button>
<ion-segment-button value="map" (ionSelect)="selectMap()">
<ion-icon name="map" isActive="false"></ion-icon>
</ion-segment-button>
</ion-segment>
</ion-toolbar>
<ion-content [ngSwitch]="view">
<div *ngSwitchCase="'list'"></div>
<div *ngSwitchCase="'map'">
<div id='map'>Here the map comes.</div>
</div>
</ion-content>
page.js:
import {Component} from "@angular/core";
@Component({
templateUrl: 'build/pages/page/page.html'
})
export class Timeline {
constructor() {
this.view = "list";
this.selectMap = function() {
console.log("selectMap:", document.getElementById("map"));
}
this.changeSegment = function() {
console.log("changeSegment:", document.getElementById("map"));
}
}
}
(是的,该项目使用的是JavaScript,而不是TypeScript。)
通过更改和选择事件,首次点击它们会返回&#34; null&#34;对于map元素,只有在第二次单击时,它们才会返回正确的元素。
对我来说,看起来事件是在段完成之前触发的。 (但我可能也会让一个愚蠢的初学者误以为......)
我如何知道#map
元素何时可用?