...

Как не тригерить функцию, запускающаяся при "Событии при изменении значения"

Тема в разделе "Лайфхаки", создана пользователем efim.z, 22 ноя 2023.

  1. efim.z

    efim.z Участник

    Наверное сталкивались с тем, что, при использовании свойства на форме (странице), функция, запускающаяся при "Событии при изменении значения" отрабатывает и в момент изменения значения этого свойства из другой функции. То тригер - не только ручное изменение значения, но и автоматическое. И порой необходимо убрать автоматический запуск функции и оставить только запуск при ручном изменении значения свойства, в таком случае, можно воспользоваться следующим приёмом:

    Код:
    
    async function changeHeadServise(): Promise<void> {
        
    ViewContext.data.click true;

        
    Context.data.subservice undefined;
        
    await Server.rpc.serverInit();

        
    window.setTimeout(() => { ViewContext.data.click false }, 150)
    }

    async function changeSubservise(): Promise<void> {
        if (
    ViewContext.data.click) return

        
    await cleareAll();
    }
    В данном примере функция changeSubservice() запускается при изменении значения свойства Context.data.subservice. Чтобы избежать её запуски из функции changeHeadServise(), вводим свойство ViewContext.data.click.

    Подписывайтесь на Youtube канал и Telegram канал, где вы найдёте ещё больше полезной и интересной информации
    Последнее редактирование: 22 ноя 2023