Отправка переменной из компонента в службу в 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);
  }

И получить доступ к этой информации о моем подключенном компоненте, подписавшись на вышеуказанную услугу.

myComponent.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). Как насчет того, чтобы я продолжал это делать.


person Harsh Phoujdar    schedule 11.05.2018    source источник


Ответы (1)


«отправить данные в обратном направлении, от моего контроллера к службе». Лучший способ сделать это — использовать параметр функции/метода.

//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 => { })
}
person Christian Benseler    schedule 11.05.2018
comment
Я хочу отправить данные с одного контроллера компонента A на службу компонента B. Как нам это сделать? - person Harsh Phoujdar; 12.05.2018