atom.serviceからatom.ponentに結果配列を取得したいと考えています。私は結果の配列を以下のソースコードを持つatom.componentに持ち込むことができると考えました(完全なコードは表示されません)。しかし、私は以下のソースコードからatom.componentのthis.atomsにアクセスすることができませんでした。 atom.service.tsの結果配列が正常に作成されました。 atom.componentの結果配列にアクセスする方法を知っている人は、それについていくつかの指針を与えることができますか?あなたが実行を同期するために戻って、非同期実行から取得することはできません角度2のオブジェクトにサービスからオブジェクトを戻す方法は?
atom.service.ts
getAtoms(private newConcept: string) {
this.http.get('api/atoms.json')
.map((responseData) => {return responseData.json()})
.subscribe(data => {
let results:Array<RAtom> = [];
for (i = 0; i < data.result.length; i++) {
results.push(new RAtom(data.result[i].classType, data.result[i].ui));
}
return results;
});
}
atom.component.ts
atoms: Array<RAtom>;
searchAtoms(newConcept: string) {
if (newConcept) {
this.atoms = this.service.getAtoms(newConcept);
}
}
RAtom.ts
export class RAtom {
classType: string;
ui: string;
constructor(classType: string, ui:string) {
this.classType = classType;
this.ui = ui;
}
}
はコンポーネントではなく、サービスに購読します。 Angular 2のドキュメントにはこの例がたくさんあります。 – jonrsharpe
まず、私は彼らがどう違うのか尋ねることができます、私は大雑把に理解しますが、私はそれを聞くことができますか? –
あなたは何を求めようとしているのか分かりません。 – jonrsharpe