2017-07-16 7 views
4

ng-bootstrapモーダルを含む4角形のページがあります。私のコードはこのように見えます。ng-bootstrapモーダルをプログラムで開く

foo.htmlという

[...] 
<button class="btn btn-sm btn-secondary material-icons" 
(click)="open(content)">search</button> 

<ng-template #content let-c="close" let-d="dismiss"> 
    content in here 
</ng-template> 
[...] 

foo.ts今

[...] 
constructor(private modalService: NgbModal) { } 
[...] 
open(content) { 
    let options: NgbModalOptions = { 
    size: 'lg' 
    }; 

    this.modalService.open(content, options); 
} 
[...] 

私はモーダルで開くボタンをクリックしてください。私が今したいことは、ngChangesのモデルを開いていることです。

ngOnChanges(changes: any) { 
    open(content) 
} 

私の問題は:ここで「コンテンツ」を取得するにはどうすればよいですか?プログラムでng-templateを取得する方法はありますか?前もって感謝します!コンストラクタで

答えて

8

追加:

import { ViewChild } from '@angular/core'; 

コンストラクタ()の前に、追加します。

@ViewChild('content') private content; 

し、最終的に:働い

ngOnChanges(changes: any) { 
    this.open(this.content); 
} 
+1

おかげで、! –

+1

シンプルで実用的なソリューション! (y) – BCoder

関連する問題