私のサービスに問題があります。私は、HTTPモジュールからJSONを取得し、クラス 'olders'をそれに記入するサービスを持っています。しかし、私が私のサービスを呼び出すと、何もしません。私のクラスの古い人はまだundifinedです... そして、yearbook.component.htmlの* ngFor指示をすれば、何も得られません... 私は思います私の問題は私のサービスから来ましたが、エラーがある場合、私は私が購読角度2のオブザーバブルが動作しません(Httpメソッド)
私yearbook.componentの内側にconsole.logを入れていても... を知らない:
import {Component} from '@angular/core'
import {Olders} from './olders'
import {OldersService} from './olders.service'
@Component({
moduleId: module.id,
selector: 'yearbook',
templateUrl: 'yearbook.component.html',
})
export class YearbookComponent {
olders : Olders[];
constructor(
private _oldersService : OldersService
){}
ngOnInit() {
this._oldersService.getOldersfromAPI()
.subscribe(res => {this.olders = res,
console.log(this.olders)},
err => console.error(err.status)
);
}
}
とolders.service:
すべてのあなたの答えを事前にのimport {Injectable} from '@angular/core'
import {Http} from '@angular/http'
import {Olders} from './olders'
import 'rxjs/add/operator/map'
import 'rxjs/add/operator/do'
@Injectable()
export class OldersService {
constructor(private _http:Http) {
}
getOldersfromAPI(){
return this._http.get('../CDN/olders.json')
.do(x => console.log(x))
.map(olders => {olders = olders.json()});
}
}
おかげでみんな
可能性のある重複した[私はどのようにObservable/http/async呼び出しからの応答を返しますか?]](http://stackoverflow.com/questions/43055706/how-do-i-return-the-response-from-an-observable-http-async-コールインアングル2) – echonax
このURLは奇妙に見えます '../CDN/olders.json' –
リクエストで相対パスを使用しない方が良い場合は、トップレベル(通常は 'src')から始まる「完全」パスを使用してください。あなたは何かエラーをコンソールにチェックしましたか?私はあなたがそのURLのための404エラーを得るだろうと思うでしょう:) – Alex