2017-07-05 7 views
0

イオン3(角度4)で作業していますが、サービスでイオンモーダルを閉じたいと思いますか?サービスでイオンモーダルを閉じる

Screen of DataService.ts

私はあなたのコードのルックスでは私のモーダルdeleteconfirm.ts

+0

私は、サービスにビューコードを入れないと言っていますが、頭痛だけを求めています。代わりに、サービスが約束を返し、約束の中から近くに電話をかけさせる。 – getbuckts

答えて

0

を閉じるために、私のDataService.tsの別の関数でクローズ()関数を呼び出したいと思い、あなたのサービスのように私には思えますそのことについて知る必要があります。

あなたができることは、モーダルが開かれたときはいつでもモーダルのインスタンスを追加して、そのインスタンスを参照してサービス内で閉じることができるようにすることです。

例(ちょうど作っ例あなたの例では、コードがあまりにも簡単であるとして):

// Example component 
export class MyComponent implements OnInit { 
    modal: Modal; 

    constructor(private modalService: ModalService) {} 

    ngOnInit() { 
     this.modalService.modal = this.modal; 
    } 

    close() { 
     this.modalService.close(); 
    } 
} 

// Example service 
export class ModalService { 
    _modal: Modal; 

    set modal(modal: Modal) { 
     this._modal = modal; 
    } 

    close() { 
     if (this._modal) { 
      this._modal.close(); 
      this._modal = null; 
     } 
    } 
} 

あなただけ注入することによって、あなたが望む任意のコンポーネントからモーダルを閉じることができるという点で、このアプローチは、移植性を可能にModalService

+0

あなたの答えをありがとう、私は私のHTMLにこのコードのおかげで成功しました:(クリック)= "dataService.deleteItem(クリー);閉じる()"、それは素晴らしいです、私はそれが可能であったかわからなかった^^ –

+0

問題はありません!!ええ、Angularは、ほとんどの場合、あなたが好きなように表現力豊かになることを可能にします。それは良いものも悪いものもあります。 – Lansana

関連する問題