2016-11-30 23 views
0

モーダルサービスのようにプログラムでモーダルを開きたいと思います。これは私が角度1で行った方法です:モーダルコンポーネントをプログラムで開くにはどうすればよいですか?

uibModal.open({template:'url.html', controller: MyController})私の親画面にモーダルHTMLコードを追加する必要はありません。

のは、私は、このフォルダ構造を持っているとしましょう:私は開いてるモーダルは動的であるため、

components 
-- screen1 
---- parent.component.ts 
-- modal1 
---- modal1.component.ts 
---- modal1.template.html 
-- modal2 
---- modal2.component.ts 
---- modal2.template.html 

その後、parent.component.tsに私はmodal1

しかしを開きたいのですが、私はそれを開いてみたいですサービス(または同様のもの)のように。だから私はparent.componentに情報を渡して、どのモーダルを開くべきかを決めてから、モーダルサービス(angular1のように)を使ってモーダルを開きます。

これにはどのようにアプローチできますか?

ありがとうございます!その使用量が角度の1.xバージョンと同じですhttps://ng-bootstrap.github.io/#/components/modal

- あなただけのサービスでopen()メソッドを呼び出します。

答えて

3

あなたはuibModalにサービス相当していアンギュラ2からangular-ui/bootstrapポートを使用することができます!次に例を示します。ここでは

export class NgbdModalComponent { 
    constructor(private modalService: NgbModal) {} 

    open() { 
    const modalRef = this.modalService.open(NgbdModalContent); 
    } 
} 

は実際の例です:それは私がangularjsに使用するのと同じ一つですので、http://plnkr.co/edit/4pgz0My5Mnt4VoAkIsPa?p=preview

+0

は男ねえ、私は(ここに投稿する前にあなたのlibをチェックしていたが、それはアルファ右にまだです?とにかく私はそれを使用することをお勧めしますか?ありがとう:) – eestein

+0

それは_very_安定しており、我々はベータ/ RCサイクル(2週間ほどの問題)に行くのに近い_super_です。だから、私はそれが安定し、実際にはおそらくそこのいくつかの1.xのlibsよりも安定していると言うでしょう:-) –

+0

Ok :)それを行って:)ありがとう! – eestein

関連する問題