Ionic 2 ionChange事件在事件完成之前触发

时间:2016-08-13 22:07:34

标签: ionic2

我正在努力将地图放在第二段。这是一个典型的问题,而且我找到了几个解决方案,但它们并不适合我,因为事件似乎在完全构建段之前被解雇了。我不知道这是因为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元素何时可用?

0 个答案:

没有答案