2016-07-23 2 views
0

Я не могу связать динамические данные с элементами управления ввода, но статические данные привязаны к тем же элементам управления. динамические данные возвращаются, и я могу просматривать данные с помощью console.log. но значения не связаны. снимок браузера консоли с дисплеем данных enter image description here мои статические данные, которые связываются правильно выглядит, как показано нижеПроблемы с привязкой динамического json к элементам управления ввода, представление не обновляется с помощью последних/динамических данных.

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

выше зашит статические данные связаны с входным управлением, но динамические данные которых retreived с использованием Http услуг оказывают выдает после вызова службы 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. Поэтому вам нужно изменить его на один из доступных свойств объекта.

например

[(ngModel)]="resultData.customerId"