2017-06-15 8 views
1

問題は、オブジェクトまたは複数の引数をテンプレートからコンポーネントに渡し、APIにデータを追加するために使用することです。複数の引数またはオブジェクトを渡す(クリック)

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 
); 

}

テンプレート入力:

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

Templateボタン:

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

あなたは直面している問題は何ですか? 質問文では、エラーまたは問題について説明していません。 –

+0

また、これは可能です "" –

答えて

1

あなたはボタンのclickイベントを処理する際にセミコロン(、)commanを交換してください。それはうまくいくはずです。

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

は、私は、オブジェクトがaddTasks()関数に渡さなっていることを示すこの単純なPlnkrを作成しました。

関連する問題