#ruby-on-rails #turbolinks #hotwire-rails
Вопрос:
Привет, у меня проблема со слушателем событий, я использую turbolinks, мой слушатель выглядит так: document.addEventListener("turbolinks:load", ...
когда я впервые посещаю страницу, я получаю в консоли браузера эту ошибку: Uncaught TypeError: Cannot read property 'children' of null
. После перезагрузки все работает нормально. Я предполагаю, что это проблема с асинхронностью, но я не знаю, как решить ее разумным способом.
Комментарии:
1. в чем проблема, которую вы пытаетесь решить с помощью своего прослушивателя событий? вполне возможно, что есть другой способ избежать этой ошибки.
2. Я использую прослушиватель событий для переключения классов в css после нажатия на выбранные разделы, и некоторые вещи не загружаются при первом посещении сайта из-за асинхронности.
3. Я бы настоятельно рекомендовал использовать стимул для ваших нужд в Javascript здесь. Стимул предназначен для работы с Hotwire. Это не совсем отвечает на ваш вопрос, но если вы зададите новый вопрос об изменении CSS при нажатии с помощью Hotwire/Turbo/стимула, я могу предоставить пример. См.: стимул. горячая проводка.дев
4. Хорошо, спасибо, тогда я попробую стимул 🙂