JavaScript не распознает изменения, внесенные при живой перезагрузке

В настоящее время я борюсь с небольшой проблемой - я сделал страницу поиска с помощью LiveView. Проблема в том, что клиент хочет, чтобы я реализовал изменение URL -адреса, поскольку параметры поиска меняются. Мне уже удалось создать рендерер живого просмотра с начальными параметрами, взятыми из URL - я бы сказал, что это была легкая часть.

В настоящее время я обновляю каждое обновление в режиме реального времени <span>с полем данных, содержащим текущий URL, который будет перенаправлять на поиск с заданными параметрами. В JS-хуках live view я вызываю функцию, которая отвечает за получение поля данных текущего URL -адреса из заданного диапазона, а затем устанавливает его как текущий URL -адрес.

updated() {
        Map.initialize();

        Search.initFilters();
        Search.handleUrl();

        jcf.replaceAll('.main-search');
      },
handleUrl() {
    if (!$('.js-current-url').length) return;

    let newUrl = $('.js-current-url').data("current-url");
    //logged newUrl here - always the url from the firs updated() call
    history.pushState({}, null, newUrl);
  },

Проблема в том, что функция handleUrl()не распознает изменения поля данных диапазона и по-прежнему устанавливает старый URL -адрес из первого обновления просмотра в реальном времени. Буду признателен за любые советы. Я проверил поле данных в инструментах разработчика - оно меняется после каждого обновления. Проблема в другом.

Привет, Какваду

0 ответов

Другие вопросы по тегам