Я новичок в Angular 2. У меня есть служба, размещенная на моей локальной машине. Сервис отлично работает. Но когда я собираюсь получить данные из службы в моем Angular 2. Как показано ниже: данные были успешно восстановлены и вошли в мою консоль. Но когда я собираюсь показать ценности на мой взгляд. «This.myPurchaseItems» пуст. Почему это? пожалуйста помоги. thanksСлужба в Angular 2 не сохраняет значения в компоненте html
calling file......
this._service.getMyPracticeTest(this.uid).subscribe(data => { this.myPurchaseItems = data });
------------------------------------------------------
service.ts file.....
getMyPracticeTest(uid: string){
return this._http.get('http://localhost:49753/RestServiceImpl.svc/getMyPracticeTest/' + uid)
.map(res => res.json())
.do(data => console.log("GetMyPracticeTest" + JSON.stringify(data)))
.catch(this.handleError);
}
------------------------------------------------------
<table class="table">
<tr><th>ID</th></tr>
<tr *ngFor="let data of myPurchaseItems">
<td>{{data.Purchase_ID}}</td>
</tr>
</table>
РЕШЕНИЕ к проблеме.
getMyPracticeTest(uid: string){
return this._http.get('http://localhost:49753/RestServiceImpl.svc/getMyPracticeTest/' + uid)
.map(data => {
data.json();
// the console.log(...) line prevents your code from working
// either remove it or add the line below (return ...)
console.log("I CAN SEE DATA HERE: ", data.json());
return data.json();
}
Предполагая, что 3-й файл представляет собой представление для первого файла, вы просто имеете несоответствие имени с ошибкой «myPurchaseItems» и «myTestData» – matmo
. это myPurchaseItems. – wal
Если ваши данные представляют собой массив, то он должен работать нормально в теории. Вы случайно заменили ChangeDetectionStrategy на OnPush? Если нет, все должно работать в соответствии с вашим примером. Трудно комментировать дальше без plunkr. – matmo