2016-07-23 57 views
0

我無法將動態數據綁定到輸入控件,但靜態數據被正確綁定到相同的控件。動態數據會被回收,並且我可以使用console.log查看數據。但價值不受約束。與數據顯示在瀏覽器的控制檯的快照 enter image description here 我的結合適當的靜態數據看起來像下面將動態json綁定到輸入控件的問題,視圖不會被最新/動態數據刷新

const SAMPLE = { queueId: 11, name: 'Mr. Nice' }; 
constructor(){ 
this.resultData = SAMPLE; 
} 

上述硬編碼的靜態數據與輸入控件的約束,但其通過使用HTTP服務retreived動態數據是具有問題 http服務調用後,我試圖寫入console.log,我可以看到瀏覽器控制檯中的內容。但它沒有被輸入控件綁定 我使用TemplateUrl來引用html文件。 HTML標籤綁定

<input type="text" name="txtQueueID" class="form-control" id="txtQueueID" [(ngModel)]="resultData.queueId" /> 

代碼使用服務

獲取數據
GetExtractorQueuesByID(_extractorQueueID) { 
     console.log("Inside GetExtractorQueuesByID method in ExtractorQueueDetails"); 
     this._CacheDataService.GetExtractorQueuesByID(_extractorQueueID) 
      .subscribe(
      (res) => { 
       this.resultData = res; 

      }, 
      (error) => console.log("error : " + error), 
      () => console.log('Error in GetExtractorQueuesByID in ExtractorQueueDetails : ' + Error) 
      ); 
    } 

我的服務,這使得HTTP請求

public GetExtractorQueuesByID = (queudID): Observable<ExtractorQueueItem> => { 
    console.log("Inside method GetExtractorQueuesByID"); 

    var headers = new Headers(); 
    headers.append('Content-Type', 'application/json'); 
    headers.append('Access-Control-Allow-Origin', '*'); 
    console.log("API URL: " + this.BLUESKYDATACACHEAPI_GETEXTRACTORQUEUEBYID + queudID); 

    return this._http.get(this.BLUESKYDATACACHEAPI_GETEXTRACTORQUEUEBYID + queudID, { headers: headers }) 
     .map(Response => Response.json()) 
     .catch(this.HandleError); 
} 

我的猜測是該觀點並沒有得到與刷新最新的json數據與它綁定。如何確保我刷新視圖或重新綁定視圖?有任何想法嗎 ?

+0

您可以張貼在那裏你獲取數據的代碼? – eltonkamami

+0

queueId不存在於您的json對象中。那麼如何在輸入中獲得它? – micronyks

+0

它可用,較早的圖像不顯示整個屬性。參考最新的圖像 – Krishnan

回答

0

queueId屬性在檢索到的json對象中不可用。所以您需要將其更改爲對象的可用屬性之一。

E.g

[(ngModel)]="resultData.customerId"