значение числа привязки с помощью углового таймера ngb - PullRequest
0 голосов
/ 26 мая 2019

У меня есть priceRule объект, который содержит 4 атрибута:

public hourStartTime: number,
public minuteStartTime: number,
public hourEndTime: number,
public minuteEndTime: number,

И два nbg-timepicker:

<!-- timepicker to pick the start -->
<ngb-timepicker [(ngModel)]="...">

</ngb-timepicker>

<!-- timepicker to pick the end -->
<ngb-timepicker [(ngModel)]="...">

</ngb-timepicker>

Я не знаю, что печатать, чтобы связать мойзначения (hourStartTime и minuteStartTim с первым таймером, hourEndTime и minuteEndTime со вторым таймером).

1 Ответ

0 голосов
/ 26 мая 2019

В вашем компоненте вы можете определить время следующим образом:

time = {hour: 13, minute: 30};

А в вашем HTML:

<ngb-timepicker [ngModel]="time"></ngb-timepicker>

В вашем случае:

import {Component} from '@angular/core';

@Component({
  selector: 'ngbd-timepicker-basic',
  templateUrl: 'src/timepicker-basic.html'
})
export class NgbdTimepickerBasic {
  time = any;
  priceRule: any;
  constructor() {
    this.priceRule.hourStartTime = 13;
    this.priceRule.minuteStartTime = 50;    
    time = { hour: this.priceRule.hourStartTime, minute: this.priceRule.minuteStartTime }
  }
}

Обновление

Так как ngb-timepicker ожидает объект типа

{ time: number, minute: number }

Итак, если вы не хотите использовать дополнительную переменную, вам придется немного изменить структуру priceRule. Так Вместо

export class PriceRule {
 public hourStartTime: number,
 public minuteStartTime: number,
 public hourEndTime: number,
 public minuteEndTime: number,
}

Было бы:

export class PriceRule {
  public startTime: { hour: number, minute: number };
  public endTime: { hour: number, minute: number };
}

А в твоем компоненте:

import {Component} from '@angular/core';

@Component({
  selector: 'ngbd-timepicker-basic',
  templateUrl: 'src/timepicker-basic.html'
})
export class NgbdTimepickerBasic {
  time = any;
  priceRule: any;
  constructor() {
    this.priceRule.startTime = { hour: 13, minute: 4 }    
  }
}

В вашем HTML:

<ngb-timepicker [ngModel]="priceRule.startTime"></ngb-timepicker>
...