window.addEventListener(‘загрузить’, (событие) => {…}); на NuxtLink (nuxt-link) или routerLink (router-link) щелкните

#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'}]} надеясь, что это загрузит его при загрузке страницы