【问题标题】:how to pass data from component to service?如何将数据从组件传递到服务?
【发布时间】:2018-01-19 18:55:08
【问题描述】:

我有一个 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 这是我的任务服务文件..我写的

 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);”它应该将数据传递给 addTask(newTask){...} 在 task.services.ts 中

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

【问题讨论】:

    标签: angular typescript


    【解决方案1】:

    您必须将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);
                   });
            }
        }
    

    【讨论】:

      猜你喜欢
      • 2019-02-04
      • 2017-05-06
      • 2018-06-30
      • 2019-05-26
      • 2018-07-08
      • 2017-07-21
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      相关资源
      最近更新 更多