Я создал службу, которая вызывает api для получения некоторых данных. Я хочу вернуть это вызывающему компоненту.Угловой 2 - передача данных из службы в компонент
Это то, что у меня есть:
SomeComponent() {
someData = string;
constructor(
private _configService: SomeService
)
{
var value = this._configService.getKey('some-key');
console.log(value);
}
}
Тогда у меня есть сервис:
export class ConfigService {
response:any;
constructor(private _http:Http) {}
getConfig(): Observable<any>
{
return this._http.get('src/config/config.json')
.map(response => response.json()).publishLast().refCount();
}
getKey(key:string) {
this.getConfig()
.subscribe(
data => {
if (data[key] != 'undefined')
{
return data[key]
} else {
return false;
}
},
error => {
return false;
}
);
}
}
Идея заключается в том, что я могу вызвать метод GETKEY ('некоторый ключ'), и если ключ существует в возвращаемом массиве json, данные возвращаются. Если нет, возвращается false.
Когда это выполняется, я вижу, что объект возвращается в службе, однако он не возвращается компоненту, вместо этого я получаю «неопределенный».
Каков процесс, чтобы вернуть это правильно?
Ok - давая это идти, получаю эту ошибку прямо сейчас: TypeError: Не могу прочитать свойство «подписаться» неопределенного – HappyCoder
О, я пропустил 'return' в методе' getKey'. Сожалею! Я обновил свой ответ соответственно ... –