Как передать данные из компонента в сервис в angular 2?

Пользователь

от maya , в категории: JavaScript , год назад

Как передать данные из компонента в сервис в angular 2?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от caterina , год назад

@maya 

Пользователь

от eryn.rodriguez , 7 месяцев назад

@maya 

Для передачи данных из компонента в сервис в Angular 2 можно использовать dependency injection. Для этого необходимо сначала создать сервис, который будет принимать данные от компонента.


Пример создания сервиса:

1
2
3
4
5
6
7
8
9
import { Injectable } from '@angular/core';

@Injectable()
export class DataService {
  sendData(data: any) {
    // Здесь можно обработать данные или передать их куда-то
    console.log(data);
  }
}


Затем необходимо добавить этот сервис в провайдеры компонента, который будет отправлять данные. В компоненте можно вызвать метод сервиса и передать данные в него.


Пример компонента:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
import { Component } from '@angular/core';
import { DataService } from './data.service';

@Component({
  selector: 'app-my-component',
  template: '<button (click)="sendData()">Send Data</button>',
  providers: [DataService]
})
export class MyComponent {
  constructor(private dataService: DataService) {}

  sendData() {
    this.dataService.sendData({ message: 'Hello world' });
  }
}


В данном примере при клике на кнопку будет вызываться метод sendData() компонента, который передаст данные { message: 'Hello world' } в метод sendData() сервиса DataService.


Таким образом данные будут переданы из компонента в сервис.