Передать значение html ngModel сервису --Angular

Я хочу передать значение html ngModel <kendo-dropdownlist style=" width: 92%;" [data]="year" [(ngModel)]="selectedYear">, который находится на Combocomponent.html, в службу, которая называется Home.service.ts.

Внутри службы у меня есть этот код:

  selectedYear=2022;

  configUrl1 = 'https://localhost:44361/api/Active_Serviced_Outlets?Year='+this.selectedYear+'&quarter=1&month=1';
  getMethod1() {
    
    return this.http.get(this.configUrl1);
  }

Я хочу динамически передавать значение [(ngModel)]="selectedYear" выбранному году, поэтому каждый раз, когда пользователь вводит год.

ComboComponent.html

Я хочу передать значение html ngModel <kendo-dropdownlist style=" width: 92%;" [data]="year" [(ngModel)]="selectedYear">, который находится на Combocomponent.html, в службу, которая называется Home.service.ts.

Внутри службы у меня есть этот код:

  configUrl1 = 'https://localhost:44361/api/Active_Serviced_Outlets?Year=2021&quarter=1&month=1';
  getMethod1() {
    
    return this.http.get(this.configUrl1);
  }

Я хочу динамически передавать значение [(ngModel)]="selectedYear" выбранному году, поэтому каждый раз, когда пользователь вводит год.

ComboComponent.html

<div class = "row">
  <div class = "column">

    <p> &nbsp; &nbsp;<b>Year </b></p>

    <kendo-dropdownlist [data] = "year" [(ngModel)] = "selectedYear"></kendo-dropdownlist>
  </div>
    </div>

ComboComponent.ts

  public year: Array<string> = [
    "2022",
    "2021",
    "2020",
    "2019",
    "2018",
  ];

  public get selectedYear() {
    return this._homeServise.selectedYear;
  }
  public set selectedYear(year: number) {
    this._homeServise.selectedYear = year;
  }
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Angular и React для вашего проекта веб-разработки?
Angular и React для вашего проекта веб-разработки?
Когда дело доходит до веб-разработки, выбор правильного front-end фреймворка имеет решающее значение. Angular и React - два самых популярных...
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Эпизод 23/17: Twitter Space о будущем Angular, Tiny Conf
Мы провели Twitter Space, обсудив несколько проблем, связанных с последними дополнениями в Angular. Также прошла Angular Tiny Conf с 25 докладами.
Угловой продивер
Угловой продивер
Оригинал этой статьи на турецком языке. ChatGPT используется только для перевода на английский язык.
Мое недавнее углубление в Angular
Мое недавнее углубление в Angular
Недавно я провел некоторое время, изучая фреймворк Angular, и я хотел поделиться своим опытом со всеми вами. Как человек, который любит глубоко...
Освоение Observables и Subjects в Rxjs:
Освоение Observables и Subjects в Rxjs:
Давайте начнем с основ и постепенно перейдем к более продвинутым концепциям в RxJS в Angular
2
0
44
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

В шаблоне

<kendo-dropdownlist (ngModelChange) = "onChange($event)"  [data] = "year" [(ngModel)] = "selectedYear"></kendo-dropdownlist>

В тс,

onChange(year){
 this._homeServise.selectedYear = this.selectedYear;
}

Другие вопросы по теме