#vue.js #nuxt.js
#vue.js #nuxt.js
Вопрос:
Я собираюсь использовать простейший пример, чтобы объяснить, что я имею в виду.
window.addEventListener('load', (event) => {
console.log('page is fully loaded');
});
Когда страница загружается в первый раз, консоль на стороне клиента регистрирует «страница полностью загружена». Но когда я нажимаю на NuxtLink или routerLink, я не получаю повторную запись в журнале для загрузки новой страницы.
Если я использую стандартную ссылку, то консоль регистрирует «страница полностью загружена» на странице, которую я посещаю, как и должно быть. Но у него нет такой быстрой загрузки страницы, как у NuxtLink или routerLink.
В Rails есть аналогичная функция, называемая Turbolinks, но вы можете использовать .on('page:load',...
для отслеживания загрузки каждой страницы.
Кто-нибудь знает, как запускать загрузку окна при загрузке страницы?
Ответ №1:
<nuxt-link>
Компонент аналогичен <router-link>
компоненту.
В режиме истории HTML5 router-link
перехватит событие click, чтобы браузер не пытался перезагрузить страницу. Это означает, что onload
это будет запущено только при первой загрузке приложения.
Если вам нужно обновлять и загружать страницу каждый раз, когда вы переходите по ссылке на новый маршрут, вы можете сделать это:
window.location.href = 'your link'
Перейдя по ссылке на страницу таким образом, вы можете найти на сетевой панели в консоли браузера, что каждый раз, когда вы загружаете страницу типа text/html
с сервера.
Комментарии:
1. Проблема в том, что у меня есть сторонний клиентский скрипт, который запускается при загрузке окна (который в основном форматирует DOM). Есть ли какой-либо способ зафиксировать щелчок и запустить после установки новых компонентов?
2. Настроили ли вы этот сторонний скрипт в
nuxt.config.js
файле?3. Да
plugins: ['~/plugins/scripts.client.js']
. Я даже пытался,head: {script:[{src: '/js/scripts.client.js'}]}
надеясь, что это загрузит его при загрузке страницы