Могу ли я получить ModalController по синглтон? - PullRequest
0 голосов
/ 01 июня 2019

Это очень распространенное использование ModalController.

constructor(private modalCtrl: ModalController) { }

Тем не менее, я хочу получить ModalController в статическом контексте, например,

static showModal() {
  // `instance` or whatever
  ModalController.instance.create({
     /* .... */
  });
}

IsЕсть ли способ получить доступ к экземпляру служб в Angular или Ionic?

1 Ответ

0 голосов
/ 01 июня 2019

если вы будете использовать синглтон в угловой, вы можете воспользоваться услугами

https://angular.io/guide/singleton-services

import { Injectable } from '@angular/core';
import { zip } from 'rxjs';

@Injectable({
  providedIn: 'root'
})
export class ModalService {
  private modals: any[] = [];
  constructor() { }

  add(modal:any){
    this.modals.push(modal);
  }

  remove(id:string){
    this.modals =  this.modals.filter(x=> x.id !== id)
  }

  open(id:string){
    let modal:any = this.modals.filter(x=>x.id === id)[0];
    modal.open();
  }

  close(id:string){
    let modal:any = this.modals.filter(x=>x.id === id)[0];
    modal.close();
  }


}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...