传入多个参数或对象(单击)

qui*_*mak 3 angular2-template angular

问题是将对象或多个参数从模板传递到组件,并使用它们将数据添加到 API。

任务.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);
Run Code Online (Sandbox Code Playgroud)

}

任务.component.ts

addTasks(task){
this.taskService.addTasks(task)
.subscribe(
  task => this.tasks.push(task),
  error => this.errorMessage = <any> error
);
Run Code Online (Sandbox Code Playgroud)

}

模板输入:

<input #todoTime type="text" class="form-control">&nbsp;
<input #todoName type="text" class="form-control">
Run Code Online (Sandbox Code Playgroud)

模板按钮:

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

Neh*_*hal 5

在处理click按钮事件时,用分号替换 comman(,) 。那应该工作。

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

我创建了这个简单的Plnkr,它显示对象正在传递给addTasks()函数。