首页 > 解决方案 > 在 Angular 5 中将变量从组件发送到服务

问题描述

在我当前的 Angular 5 项目中,我一直在通过我的服务成功调用 API

(为简洁起见,代码保持干净)

myService.ts :

@Injectable()
export class my-service-service {

  constructor(private _http: HttpClient) {
   }

  myData1() {
    return this._http.get("API_URL")
      .map(result => result);
  }

并通过订阅上述服务来访问我连接的组件上的信息。

我的组件.ts:

   import { myServiceService } from './my-service-service.service';
    @Component({
    ...
    })

constructor(private router: Router,
    private route: ActivatedRoute,
    private _myData: myServiceService) {
   ...
   }

ngOnInit() {

 this._myData.myData1()
    .subscribe(res => {
//Able to access data successfully here 
     }
}

现在我希望从我的控制器向服务发送相反方向的数据。例如假设我有

  public myVar: any;

我希望从我的服务中访问这个变量(也许动态地将它附加到 API 调用中)我应该继续这样做怎么样。

标签: angularservicecomponentsangular5web-development-server

解决方案


“从我的控制器向服务发送相反方向的数据”最好的方法是使用函数/方法参数。

//service.ts
myData1(parameter1) {
  //do whatever you need with parameter1
  return this._http.get("API_URL")
    .map(result => result);
}


//component.ts
public myVar: any;
ngOnInit() {

 this._myData.myData1(this.myVar).subscribe(res => { })
}

推荐阅读