2017-10-06 87 views
0

我需要訂閱一個dxPopover中的窗體,如下所示,但窗體總是未定義的變化。如何訪問dxTemplate裏面的Devextreme dxPopover裏面的Angular2

但是,如果我將窗體移到dxPopover之外,那麼就沒有問題了。

如何在dxPopover中訪問表單元素?

模板:

<dx-popover 
       target="#button" 
       position="bottom" 
       width="900px" 
       [visible]="true"> 

    <div *dxTemplate="let data of 'content'"> 
      <form #form="ngForm" > 
       <!-- form content --> 
      </form> 
    </div> 
</dx-popover> 

組件:

@ViewChild('form') form; 

ngAfterViewInit() { 
    console.log(this.form); // outputs 'undefined' 

} 

編輯:這裏是一個普拉克 - https://plnkr.co/edit/nQJ0brGs0FlMBkexuavK

回答

0

選項1:

經過HTML像你這樣的內部dxPopover標記爲re要求您在dxPopover的模板中添加<ng-content>,以便它被注入,然後在視圖init生命週期鉤子之後,您可以訪問有問題的變量。

選項2:

你應該移動該div實際的組件模板中的dx-popover組件指令內。

然後使用輸出裝飾器的形式的值發射到承載dx-popover部件

,如果你想將數據傳遞到所述dx-popover組件可以使用輸入裝飾作爲其他父組件方式。

請查看官方文檔爲例Here

+0

我不知道如果我明白爲什麼我會想使用輸入/輸出這個簡單的任務。我添加了一個plunk。如果您有時間,請修改。謝謝! – dexter