2017-07-16 78 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