Задать вопрос
@sizmailov

Как осуществить подключение внешнего файла *.js к компоненту *.vue?

Есть проект на vue.js
-src
|--assets
|--components
|---component.vue
|--router
|---index.js
|--script
|---hover.js
|--App.vue
|--main.vue

Смысл такой. Мне нужно подключить к component.vue файл hover.js и еще разместить такой код:
Array.from(document.querySelectorAll('.grid__item-img')).forEach((el) => {
      const imgs = Array.from(el.querySelectorAll('img'));

      new hoverEffect({
        parent: el,
        intensity: el.dataset.intensity || undefined,
        speedIn: el.dataset.speedin || undefined,
        speedOut: el.dataset.speedout || undefined,
        easing: el.dataset.easing || undefined,
        hover: el.dataset.hover || undefined,
        image1: imgs[0].getAttribute('src'),
        image2: imgs[1].getAttribute('src'),
        displacementImage: el.dataset.displacement
      });
});


Пробовал
import { hoverEffect } from '../script/hover.js'
// и
import '../script/hover.js'

Но ничего не хочет работать. Подскажите куда конкретно нужно все это разложить?
  • Вопрос задан
  • 2457 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
Xuxicheta
@Xuxicheta
инженер
Идем сюда и смотрим как подключать

npm install hover-effect

import hoverEffect from 'hover-effect'

для корректной работы эффекты нужно вешать после mounted, и следить за измененем списка картинок, если что-то поменялось, то вешать ховер-эффект на новые картинки.
Возможно он сам умеет замещать себя, тогда достаточно будет просто развесить заново на все картинки. Но для более конкретной инфы надо смотреть как этот сам ховер устроен.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
import hover from '../script/hover.js'

Этот код должен корректно импортировать. Если так не импортируется, то проблема в файле. Есть ли в нём собственно export?

Если hoverEffect создаёт эффект, напрямую манипулируя DOM, то он может не работать потому, что это противоречит vue, в котором страница рендерится посредством манипулирования над Virtual DOM.

В любом случае, опишите подробнее, что именно вы хотите сделать (задачу, а не просто "вот код подключить"), что за библиотеку используете, какие ошибки вылезают.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
24 дек. 2024, в 19:39
6000 руб./за проект
24 дек. 2024, в 19:25
4000 руб./за проект
24 дек. 2024, в 19:16
5000 руб./за проект