繁体   English   中英

如何将数据从组件传递到服务?

[英]how to pass data from component to service?

我有一个 tasks.component.ts 文件,其中的代码是

addTask($event: Event) {
      alert(this.name);

      var newTask ={
      name: this.name
     }

//alert(this.tasks.push(newTask));

 this.taskServices.addTask(newTask)
    .subscribe(tasks => {
    this.tasks.push(tasks);
   });

  }

task.services.ts 这是我的 taskservices 文件..在我写的

 addTask(newTask){
 var headers = new Headers();
 headers.append('ContentType','application/json');
 return this.http.post('http://localhost:3000/edata',JSON.stringify(newTask)).map(res => res.json());
 }

我正在尝试传递数据“this.tasks.push(tasks);” 它应该将数据传递给 task.services.ts 中的 addTask(newTask){...}

但它没有将数据推送到 addTask(){...} 怎么做,我的代码有什么问题吗?

您必须将newtask变量设置为组件级别,并且需要提供提供程序并访问该 newTask 方法,如下所示:

export class TasksComponent implements OnInit, AfterViewInit {
      newTask;

      constructor(private _taskService:taskService) { }

        addTask($event: Event) {
          alert(this.name);

          this.newTask ={
          name: this.name
         }

        this._taskService.addTask(this.newTask);


        ngOnInit() {
             this.taskServices.addTask(newTask)
                .subscribe(tasks => {
                this.tasks.push(tasks);
               });
        }
    }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM