2017-08-15 40 views
0

這就是我所得到的。不能弄清楚如何發送我的表單與成功事件。這甚至有可能嗎?因爲我想將用戶的詳細信息保存在MongoDB中,所以在這種情況下如何獲取它們。一直停留在它過去〜10個小時ng2-modal-module:傳遞成功事件的數據

app.component.html

<button class="btn btn-success" (click)="displayModal()">Add</button> 
    <ng2-modal-window id="addUserModal"></ng2-modal-window> 

app.component.ts

displayModal(){ 

    let successEventName = 'successEvent'; 
    let cancelEventName = 'cancelEvent'; 

    this.modal.resetEventsSubscribers([successEventName, cancelEventName]); 

    this.modal.showModal("addUserModal",{ 
     title: 'Add User', 
     htmlContent: ` 
      <form [formGroup]="myForm"> 
       <div class="form-group"> 
        <label for="firstName">First Name</label> 
        <input type="text" id="firstname" class="form-control" formControlName="firstname" #fname> 
       </div> 
       <div class="form-group"> 
        <label for="lastName">Last Name</label> 
        <input type="text" id="lastname" class="form-control" formControlName="lastname"> 
       </div> 
       <div class="form-group"> 
        <label for="firstName">Email</label> 
        <input type="text" id="email" class="form-control" formControlName="email"> 
       </div> 
      </form> 
     `, 
     buttons: { 
      success: { event: successEventName }, 
      cancel: { event: cancelEventName }  
     } 
    }); 

    this.pubsub.subscribe(successEventName, (data) => { 
     console.log('Success triggered!', data); 
    }); 

    this.pubsub.subscribe(cancelEventName, (data) => { 
     console.log('cancelEventName triggered!', data); 
    }); 
} 

回答

0

我不熟悉的NG2-modal-模塊,但假設你知道如何接收成功事件,其餘部分應該很簡單。由於您使用反應型API,因此您應該在某處創建myForm的實例(未在代碼示例中顯示)。

變量myForm保存輸入在表單中的數據,並且您可以使用this.myForm.value訪問整個對象。如果你想訪問特定表單控件的值,你可以做這樣的:

this.myForm.value.firstName 

然後用你的HTTP或HttpClient的對象這個值。

+0

感謝您的回覆,但存在我確切的問題。成功事件/取消事件不受我控制。按鈕/事件由ng2-modal-module提供,並且我完全無法控制它們。所以我找不到一種方法來傳遞myForm。有沒有更好的方法來創建角2/4的模態,你知道會是一個很大的幫助。 (我知道一些方法,但總是堅持傳遞數據和處理多個模態)。 –

+0

爲什麼不使用角度材料? https://material.angular.io/categories/modals –

+0

當然。我會嘗試這個雅科夫。謝謝你的幫助。我們需要更多像你這樣的人:) –