Я хотел бы получить массив результатов из atom.service в atom.component. Я думал, что могу привести массив результатов в atom.component с исходными кодами ниже (не представлены целые коды). Но я обнаружил, что не смог получить доступ к this.atoms в atom.component из исходных кодов ниже. Массив результатов в 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;
}
}
Подписаться на компоненты, а не на службе. Угловые 2 документа полны примеров этого. – jonrsharpe
Во-первых, могу ли я спросить, как они разные, я грубо понимаю, но могу ли я спросить об этом? –
Я не понимаю, что вы пытаетесь спросить. – jonrsharpe