Привет!
Может, кто-то шарит по 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.