如何在不同的页面上共享角度2组件(谷歌地图)?

时间:2017-07-02 11:13:43

标签: angularjs ionic-framework ionic2

我正在使用Ionic 2&角度2

我创建了google-map组件ND在主屏幕上初始化它,我需要一种方法在另一个页面上显示这个地图。

在多个网页上传递或创建新Google地图的最佳方式是什么? 有没有办法使用该地图的相同实例?

GoogleComponent.ts:

export class GoogleMapComponent{
  private createMap(){
  this.map = new google.maps.Map(document.getElementById('map'), {
    zoom: 15,
    center: this.Position
  });
}

home.ts:

    <div class="inner-container">
        <google-map></google-map>
</div>

page2.ts:

  <div class="inner-container">
      <google-map></google-map>
  </div>

需要在第2,3,4页等处获取此地图...以及任何建议?

1 个答案:

答案 0 :(得分:0)

通常,您应该使用Angular2依赖注入将您的注入annotated with @Injectable()(通常是服务)注入其他页面,并在页面的构造函数中获取注入的实例。

您可以控制是否要每次创建一个新实例,或者使用相同的单例进行注射,并使用提供程序执行此操作。 该线程包含一些有用的信息 https://forum.ionicframework.com/t/injecting-service-into-tabs-ionic-2/51813/2

作为旁注。 this project是angular2谷歌地图组件的一个很好的实现