Обновление данных компонента по входному значению - PullRequest
0 голосов
/ 13 марта 2019

Это пример компонента

export class childComponent implements OnChanges {
  @Input idToCheck: number
  public myData;

  constructor(private myService:MyService){}

  ngOnChanges() {
    this.myService.getData(id).subscribe(data-> {
      this.myData = data;
    })
}

Это лучший способ?Поскольку подписка будет вызываться при каждом изменении ввода, могу ли я включить его в функцию onInit?

Спасибо и с уважением

1 Ответ

0 голосов
/ 13 марта 2019

Я предпочитаю использовать функцию setter в этом случае, например:

@Input() set idToCheck (id: number) {
    // ignore the value if id is undefined
    if(id == undefined) return;
    // call the service function when the id is passed
    this.myService.getData(id).subscribe(data-> {
      this.myData = data;
    });
}

Таким образом, эти строки будут вызываться каждый раз, когда родительский компонент изменяет значение idToCheck input.

Я думаю, что это проще и понятнее.

Подробнее о setter .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...