Прямо сейчас я пытаюсь создать директиву для добавления ко всем моим кнопкам, где кнопка отключается при нажатии. Я могу создать это, создав событие касания для всех моих кнопок индивидуально в каждом компоненте, но это неэффективное использование кода. Я создал директиву angular для отключения кнопок, однако она не переводится на Nativescript. Вот что я сделал:
selector: '[appPreventDoubleClick]',
})
export class PreventDoubleClickDirective {
constructor(private elementRef: ElementRef) { }
@HostListener('click') clickEvent() {
this.elementRef.nativeElement.setAttribute('disabled', true);
setTimeout(() => {
this.elementRef.nativeElement.removeAttribute('disabled');
}, 1000);
}
Затем на каждой кнопке html я добавляю директиву: appPreventDoubleClick
То же самое с Nativescript не работает, так как добавление директивы без контейнера и шаблона кнопки исчезают. Когда я добавляю их, кнопки возвращаются, однако я не уверен, где разместить прослушиватель хоста, и должен ли я вообще использовать прослушиватель хоста.
Документация Nativescript показывает, что прослушиватель событий должен быть добавляется непосредственно к объекту кнопки в компоненте, но я не уверен, как это переводится в директиву: https://docs.nativescript.org/core-concepts/events
Любая помощь будет принята с благодарностью.