Задать вопрос
@Artem0071
Безработный mr. Junior

Как загрузить данные по параметру роутинга?

Добрый день!

Как создать компонент, который будет принимать параметр из роутинга и относительно него отправлять get запрос?

На данный момент вот что есть:
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){}

    ngOnInit(){
        this.id = this.activateRoute.snapshot.params['id']; // получаем id из параметра в роутинге
        this.httpService.getOnePost(this.id).subscribe((data: Response) => this.Post=data.json()); // запарашиваем get запрос из сервиса
    }
}


HttpService
import {Injectable} from '@angular/core';
import {Http} from '@angular/http';

@Injectable()
export class HttpService{
    constructor(private http: Http){ }
    getBlog(){
        return this.http.get('blog.json');
    }
    getOnePost(id){
        return this.http.get('blogOne.json');
    }
}


Но это не работает.
Как вообще сделать такой компонент, только рабочий?)
Есть какой то пример, где одновременно получение id и отправка запроса?
Пояснение что не работает
  • Вопрос задан
  • 146 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
alexbraun
@alexbraun
Full Stack
Покажи реализацию HttpService
Что пишет в стектрейс?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы