Передача даты из HTML в Ts в Angular по нажатию кнопки - PullRequest
1 голос
/ 24 сентября 2019

У меня есть две даты в Html-странице, которые я хочу передать бэкенду по нажатию кнопки, вместе с другими параметрами.Это то, что у меня есть сейчас.

    <input [owlDateTime]="dt1" placeholder="From a date" [value]="dateFrom.value">
    <span [owlDateTimeTrigger]="dt1"><i class="fa fa-calendar"></i></span>
    <owl-date-time #dt1></owl-date-time>


    <input [owlDateTime]="dt2" placeholder="To a date" [value]="dateTo.value">
    <span [owlDateTimeTrigger]="dt2"><i class="fa fa-calendar"></i></span>
    <owl-date-time #dt2></owl-date-time>


    <button class="startButton" mat-raised-button color="primary"
       (click)="loadData(81,topSelect.value,txtFilter.value,dt1.getValidDate,dt2.getValidDate)">
      Search
      <i class="fa fa-search pb-icon" aria-hidden="true"></i>
    </button>

Вот файл Ts:

  public loadData(customerId: number, topResult: number, searchTxt?: string, dateFrom?: Date, dateTo?: Date) {
    this.interfaceService.getLogsForCustomer(customerId, topResult, searchTxt, dateFrom, dateTo).subscribe((logs: Log[]) => {
      this.logs = logs;
      this.dataSource = new MatTableDataSource<Log>(this.logs);
      this.dataSource.paginator = this.paginator;
      this.dataSource.sort = this.sort;
      this.sort.sortChange.subscribe(() => this.paginator.pageIndex = 0);
    });
  }

1 Ответ

3 голосов
/ 24 сентября 2019

Добавить тег формы.Вы должны использовать

  1. Шаблонные формы

или

Реактивные формы.

Когда вы используете один из них, вы получите валидацию и много полезной помощи, когда пользовательский ввод будет сделан.

Если вы не хотите использовать формы.Вы можете использовать ngModel.При двустороннем связывании [(ngModel)] вы обновите значения в «бэкэнде», не нажимая кнопку

...