Angular 2 / http
Привет!
Может, кто-то шарит по Angular 2 и может указать, где ошибка в коде. Пытаюсь залить список задач Todo. Структура файлов: ![]() Код файла todo.service.ts (внутри папки shared) import { Injectable } from '@angular/core'; import { Http, Headers } from '@angular/http'; import 'rxjs/add/operator/toPromise'; import { ITodo } from './todo.model'; @Injectable() export class TodoService { constructor(private http: Http){} getTodos(): Promise<ITodo[]> { return this.http.get('api/todos') .toPromise() .then(res => res.json().data) .catch(this.handleError); } addTodo(todo: ITodo): Promise<ITodo> { return this.post(todo); } deleteTodo(todo: ITodo): Promise<ITodo> { return this.delete(todo); } private post(todo: ITodo): Promise<ITodo> { let headers = new Headers({ 'Content-Type': 'application/json' }); return this.http.post('api/todos', JSON.stringify(todo), { headers }) .toPromise() .then(res => res.json().data) .catch(this.handleError) } private delete(todo: ITodo): Promise<ITodo> { let headers = new Headers({ 'Content-Type': 'application/json' }); let url = `api/todos/${todo.id}`; return this.http.delete(url, { headers }) .toPromise() .then(res => todo) .catch(this.handleError) } private handleError(error: any): Promise<any> { console.log('The error occured >>>', error); return Promise.reject(error.message || error); } } Код файла main.ts import { bootstrap } from '@angular/platform-browser-dynamic'; import { HTTP_PROVIDERS, XHRBackend } from '@angular/http'; import { InMemoryBackendService, SEED_DATA } from 'angular2-in-memory- web-api'; import { TodoSeedData } from './shared/todo.data'; import {AppComponent} from './app.component'; bootstrap(AppComponent,[ HTTP_PROVIDERS, { provide: XHRBackend, useClass: InMemoryBackendService }, { provide: SEED_DATA, useClass: TodoSeedData }, ]); Всё отлично работало до использования модуля http. Консоль выдаёт ошибку: Collection 'todos' not found. ![]() Почему возникает такая ошибка? Всё делаю по тюториалу CodeDojo. |
Выкопал опечатку в коде в других файлах - извините. Просьба удалить тему.
|
Часовой пояс GMT +3, время: 07:53. |