Ionic 2 document.getElementById返回null

时间:2017-05-10 02:47:31

标签: typescript ionic2

我正在用Ionic 2创建一个小应用程序。现在我在浏览器中使用离子服务进行测试。在我的map.html文件中,我有以下代码:

<ion-content >
   <div  id="myMap"></div>
</ion-content>

在我的map.ts文件中,我试图这样做:

this.platform.ready().then((readySource) => {
console.log('Platform ready from', readySource);
console.log(document.getElementById('myMap'));
//this.initializeMap();
});

控制台输出:

Platform ready from dom null

抓了我的头很多,但仍然无法找到为什么它找不到那个元素。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:4)

如果您尝试获取基于ID的元素,则可以使用角度viewChild而不是使用javascript。

要做到这一点,我会写这样的代码。

在map.html中

<ion-content >
  <div #myMap></div>
</ion-content>

在你的map.ts

  

确保从@ angular / core

导入ViewChild
import { Component, ViewChild } from '@angular/core';

...

export class MapPage {
  @ViewChild('myMap') myMap ;

  constructor(public viewCtrl: ViewController, params: NavParams) {
    console.log(this.myMap); //visit your element by using this.myMap
  }

}