2017-06-15 7 views
1

Le problème est de passer l'objet ou plusieurs arguments de modèle à composant et de les utiliser pour ajouter des données à l'API.en passant plusieurs arguments ou objet (clic)

task.service.ts

addTasks(task: Task): Observable<Task>{ 
let headers = new Headers({'Content-type': 'application/json'}); 
let options = new RequestOptions({ headers: headers }); 
return this.http.post(this.tasksUrl, {task}, options) 
.map(this.extractData) 
.catch(this.handleError); 

}

task.component.ts

addTasks(task){ 
this.taskService.addTasks(task) 
.subscribe(
    task => this.tasks.push(task), 
    error => this.errorMessage = <any> error 
); 

}

Entrées de modèle:

<input #todoTime type="text" class="form-control">&nbsp; 
<input #todoName type="text" class="form-control"> 

Bouton Modèle:

<button name="todoAdd" (click)="addTasks({name: todoName.value, time: todoTime.value}); todoName.value='',todoTime.value='' ">add</button> 
+0

maintenant quel est le problème auquel vous êtes confronté? L'énoncé de question n'explique pas l'erreur ou le problème. –

+0

Aussi je pense que c'est possible "" –

Répondre

1

Remplacer le comman (,) avec un point-virgule lorsque vous gérez l'événement click pour le bouton. Cela devrait fonctionner.

<button name="todoAdd" (click)="addTasks({name: todoName.value, time: todoTime.value}); todoName.value=''; todoTime.value='' ">add</button> 

J'ai créé cette Plnkr simple qui montre l'objet est passé à se addTasks() fonction.