我正在用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
抓了我的头很多,但仍然无法找到为什么它找不到那个元素。
任何帮助将不胜感激!
答案 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
}
}