#angular #typescript
#угловой #машинописный текст
Вопрос:
Когда останется 1 час, я позвоню уведомить, Для этого я установил 3600 секунд в уведомлении.но это не работает
код html-файла:
lt;countdown #cd [config]="remainingduration" (event)="handleCountDown($event)"gt;lt;/countdowngt;
код файла ts:
@ViewChild('cd', { static: false }) public countDownTime: CountdownComponent; timeCountdown(time){ if (time gt; 3600) { this.remainingduration = { leftTime: time, format: 'HH:mm:ss', notify: [3600] }; this.showHours =true } } handleCountDown(event) { console.log(event) }
Комментарии:
1. Вы начали обратный отсчет с
this.countdown.begin();
вашего компонента? Вам также нужно сначала импортировать его через @ViewChild2. Да, я добавил через @Viewchaild, но он должен расшифровать время, которое я уже даю. «это.обратный отсчет.начало()» начинается обратный отсчет с большого, я не хочу этого
3. Когда вы вызываете свою
timeCoutdown(time)
функцию? ВнутриngOnInit()
? Вы определяете начальное значение по умолчанию дляthis.remainingduration
?4. Да, я не назначаю значение по умолчанию. теперь назначьте значение по умолчанию, и это сработает
5. Рад, что это сработало для вас тогда 😉
Ответ №1:
Этот пример сработал для меня, как вы и ожидали:
import { Component } from '@angular/core'; @Component({ selector: 'my-app', template: ` lt;countdown [config]="timerConfig" (event)="handleCountDown($event)"gt;lt;/countdowngt; `, }) export class AppComponent { timerConfig = { leftTime: 3610, notify: [3600] }; handleCountDown(event) { console.log(event); } }
Через 10 секунд было запущено событие «действие: уведомить«.
Ответ №2:
Попробуйте это:
import { Component, ViewChild } from '@angular/core'; import { CountdownComponent } from 'ngx-countdown'; @Component({ selector: 'my-app', template: ` lt;countdown #cd [config]="{leftTime: timeData, notify: [ 3600]}" (event)="handleEvent($event)"gt;lt;/countdowngt; `, }) export class AppComponent { @ViewChild('cd', { static: false }) private countdown: CountdownComponent; timeData = '3605'; constructor() {} handleEvent(event) { console.log(event) } }