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 -адрес из первого обновления просмотра в реальном времени. Буду признателен за любые советы. Я проверил поле данных в инструментах разработчика - оно меняется после каждого обновления. Проблема в другом.
Привет, Какваду