Answer the question
In order to leave comments, you need to log in
How to properly handle request parameter?
Good afternoon!
The problem is that I can not process the parameter from the routing normally.
Here is the component:
import { Component, OnInit} from '@angular/core';
import { ActivatedRoute} from '@angular/router';
import { Response} from '@angular/http';
import { HttpService} from '../../services/http.service';
@Component({
moduleId: module.id,
selector: 'item-info',
templateUrl: 'post.component.html',
providers: [HttpService]
})
export class PostComponent implements OnInit {
id;
Post;
constructor(private activateRoute: ActivatedRoute,private httpService: HttpService){
this.id = activateRoute.snapshot.params['id'];
console.log(this.id); // Здесь при загрузке все показывает нормально
}
ngOnInit(){
console.log(this.id); //здесь передается все правильно
this.httpService.getOnePost(this.id).subscribe((data: Response) => this.Post=data.json()); // Вот здесь начинется жуть. По идее запрос выполняется правильно (нет)
console.log(this.Post); // Вот здесь начинает виднется подстава (в консоли выводит undefined)
// то есть по-идее в this.Post у нас пусто, но нет!
}
testMe(){
console.log(this.Post) // на страница есть кнопка <button (click)="testMe()">Test</button>
// Самое удивительное, что в ней все показывает верно!! Значит что то тут еже не понятно..
}
}
<button (click)="testMe()" class="btn btn-info">Test</button>
<p>{{Post.error.message}}</p> <!-- запрос возвращает поидее JSON {Blog: Object, error: {status: 200, message: "OK"}}, это видне если нажать на кнопку, но в этом блоке он показывать что либо отказывается! и в консоли пишет 5 ошибок! Причем если убрать этот блок, то все будет норм -->
handleError — core.umd.js:3462 EXCEPTION: Uncaught (in promise): Error: Error in http://localhost:3000/app/pages/post/post.component.html:1:3 caused by: undefined is not an object (evaluating
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question