В настоящее время я борюсь с небольшой проблемой - я сделал поисковую страницу, используя LiveView. Проблема в том, что клиент хочет, чтобы я реализовал изменение URL, так как параметры поиска меняются. Мне уже удалось создать средство визуализации в режиме реального времени со стартовыми параметрами, взятыми из URL - я бы сказал, что это было легко.
В настоящее время я обновляюсь с каждым обновлением в режиме реального времени <span>
с поле данных, содержащее текущий URL, который будет перенаправлен на поиск с заданными параметрами. В режиме реального времени JS hooks я вызываю функцию, которая отвечает за получение текущего поля данных 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-адрес из первого обновления просмотра в реальном времени. Буду признателен за любые советы. Я проверил поле данных в инструментах разработчика - оно меняется после каждого обновления. Проблема в другом.
Привет, Kaquadu