Angular 2 отображает http ответ на экземпляр класса
Мне интересно, как лучше всего отобразить http-ответ от запроса get к классу, а не к базовому объекту Javascript.
В моей нынешней попытке я просто делаюnew ClassName(data)
, но мог бы неясный Angular указать и совершенно потрясающий способ сделать это, чего я не знаю.
Вот мой текущий код:
getPost(id:number){
return this._http.get(this._postsUrl+'/'+id)
.map(res => new Post(res.json().data))
.do(data => console.log(data))
.catch(this.handleError);
}
Мне нужно, чтобы Post был классом, а не просто интерфейсом, потому что внутри у меня есть методы.
Я следовал HeroTutorial и http "Руководству разработчика" вместе и в ихgetHeroes
метод они делают:
getHeroes () {
return this.http.get(this._heroesUrl)
.map(res => <Hero[]> res.json().data)
.catch(this.handleError);
}
Я как-то ожидал<Hero[]>
часть, чтобы сделать это: возьмите класс Hero и создайте его новые экземпляры, но мои тесты показывают, что это не так, это в значительной степени просто для Typescript, чтобы знать, чего ожидать.
Есть идеи ? Спасибо!