0
ActivatedRouteを使ってニュースIDのスナップショットを取得しようとしていますので、後でそのIDをAPIのルートを通じてその特定のニュースIDを要求するサービスのメソッドに渡すことができます。getメソッドにIDを送る方法
これは私のコンポーネントである:
import { Component, OnInit } from '@angular/core';
import { ApiNoticiasService } from './api-noticias.service';
import { ActivatedRoute } from '@angular/router';
@Component({
moduleId: module.id,
selector: 'app-editar-noticias',
templateUrl: 'editar-noticias.component.html',
styleUrls: ['editar-noticias.component.css'],
providers: [ApiNoticiasService]
})
export class EditarNoticiasComponent implements OnInit {
noticia: any;
constructor(
private route: ActivatedRoute,
private _apiNoticias: ApiNoticiasService) { }
ngOnInit() {
this._apiNoticias.getNoticia(this.route.snapshot.params.id)
.then((noticia) => this.noticia = noticia)
.catch((err) => {
console.log(err);
});
}
}
そして、これは私のサービスです。悲しいことに
import { Injectable } from '@angular/core';
import { Http, Response } from '@angular/http';
import { Observable } from 'rxjs/Rx';
@Injectable()
export class ApiNoticiasService {
constructor(private _http: Http) { }
getNoticia(id) {
return this._http.get('http://localhost:3000/noticia/:id')
.map((response: Response) => response.json())
.toPromise()
.catch((err: any) => {
console.log(err);
return Promise.reject(err);
});
}
}
、私は、TSからの私のコンポーネントでこのエラーを取得します。プロパティ「ID」は、種類には存在しません。 '{[key:string]:any; } '。
ありがとうございます!
は素晴らしい仕事、ありがとう! – cerealex