не могу получить доступ к переданным данным из компонента ngx-simple-mpdal - PullRequest
0 голосов
/ 20 сентября 2018

Я использую ng-simple-modal для создания модального режима. Используя SimpleModalService, я могу открыть компонент, и переданные данные также привязываются к пользовательскому интерфейсу.Но когда я попытался получить доступ к данным из конструктора, они стали неопределенными.

PrintPreviewComponent.ts

import { Component, OnInit, OnDestroy, Output, EventEmitter, Input } from '@angular/core';
import { SimpleModalComponent } from 'ngx-simple-modal';
import { MapService } from '../../map/map.service';
var $ = (<any>window).$;

export interface AlertModel {
  title: string;
  message: string;
  extent : any;
}

@Component({
  selector: 'app-print-preview',
  template: require('./printpreview.html'),
  styles: [require('./printpreview.scss')],
})

export class PrintPreviewComponent extends SimpleModalComponent<AlertModel, null> implements AlertModel , OnInit, OnDestroy  {
  static parameters = [MapService];
  title: string;
  message: string;
  extent: any;
    constructor(private mapService: MapService) {    
      super();
      console.log(this.extent);
      console.log(this.mapDataObject);
  }

  ngOnInit() {
    this.mapService.loadMap('previewmap').then(mapObj => {
      this.mapService.addBaseMapTileLayer(); 
    });
  }
  ngViewAfterInit() {
  }
  ngOnDestroy() {
  }


  
}
<div class="lightbox">
  <div class="tc-content modal-content">
    <div class="modal-header">
      <h4>{{title || 'Alert!'}}</h4>
    </div>
    <div class="modal-body">
      <div id="previewmap">

      </div>
    </div>
    <div class="modal-footer">
      <button type="button" class="btn btn-primary" (click)="close()">OK</button>
    </div>
  </div>
</div>

Я открыл этот компонент как

 let extent = this.mapService.getExtent();
    this.simpleModalService.addModal(PrintPreviewComponent, { title: 'Print Preview' , extent: extent});

, но в конструкторе printpreview.component, когда попытался получить доступ к переданному extent становится неопределенным

constructor(private mapService: MapService) {    
      super();
      console.log(this.extent);//getting undefined[![enter image description here][1]][1]
      console.log(this.mapDataObject); 
  }
...