diff --git a/src/app/todo.service.ts b/src/app/todo.service.ts index a8a17ec..941c84c 100644 --- a/src/app/todo.service.ts +++ b/src/app/todo.service.ts @@ -1,17 +1,17 @@ import { Injectable } from '@angular/core'; - -const FAKETODOS = [ - 'make bed', - 'eat', - 'drink' -] +import { Observable } from 'rxjs/Observable' +import { Subject } from 'rxjs/Subject'; @Injectable() export class TodoService { - getTodos(){ - return FAKETODOS; + + subject = new Subject(); + + getTodosObservable(){ + return this.subject.asObservable(); } + addTodo(todo){ - FAKETODOS.push(todo); + this.subject.next(todo); } } diff --git a/src/app/todos-index/todos-index.component.ts b/src/app/todos-index/todos-index.component.ts index b73bb86..d3a3551 100644 --- a/src/app/todos-index/todos-index.component.ts +++ b/src/app/todos-index/todos-index.component.ts @@ -12,10 +12,12 @@ export class TodosIndexComponent implements OnInit { private todoService: TodoService ) { } - todos; + todos = []; ngOnInit() { - this.todos = this.todoService.getTodos(); + this.todoService.getTodosObservable().subscribe(newTodo => { + this.todos.push(newTodo); + }); } }