#javascript #vue.js #import #libraries #gsap
#javascript #vue.js #импорт #библиотеки #gsap
Вопрос:
Я совсем новичок в Vue.js и у меня были некоторые проблемы с получением библиотек для работы без получения сообщения «ошибка ‘X’ не определена no-undef».
В этом случае это «Back», который не определен (который является частью GSAP) Я полагал, что единственное место для «определения» будет в импорте.
Это просто способ импорта библиотек? Должен ли я писать каждую неопределенную часть в импорте таким образом? Это работает, но это просто кажется ненужным.
<template>
<div id="mainTemplate">
<h2>This is the MainTemplaye.vue Component</h2>
<div ref="box" class="box"></div>
</div>
</template>
<script>
import { TimelineLite, Back } from "gsap";
export default {
name: "MainTemplate",
mounted() {
const { box } = this.$refs;
const timeline = new TimelineLite();
timeline.to(box, 1, { x: 200, rotation: 90, ease: Back.easeInOut, })
timeline.to(box, 0.5, { background: 'green' },'-=0.5')
},
};
</script>
<style>
.box {
height: 60px;
width: 60px;
background: red;
}
</style>
Комментарии:
1. Любая переменная должна быть импортирована / объявлена, если вы собираетесь ссылаться на нее. Исключение составляет, если он доступен глобально, например, если вы зарегистрировали его в window (
window.gsap = gasp
) , но это не лучшая практика. Если вы не хотите импортировать вещи везде, вы можете зарегистрировать их в плагине vue, и они будут доступны в component (this.$gsap
) . Но делайте это только с вещами, которые вы действительно часто используете, поскольку это раздувает ваши компоненты.2. Спасибо @Josh Dean, это было то, что я искал 🙂
Ответ №1:
Я не уверен, откуда вы учитесь, но вы используете старый синтаксис GSAP. Если вы используете новый синтаксис GSAP, вам не нужно импортировать ничего gsap
, кроме вашего случая:
import { gsap } from "gsap";
export default {
name: "MainTemplate",
mounted() {
const { box } = this.$refs;
const timeline = gsap.timeline();
timeline.to(box, { duration: 1, x: 200, rotation: 90, ease: 'back.inOut' })
timeline.to(box, { background: 'green' }, '-=0.5')
},
};
Лучшее место для начала обучения — это официальная статья GSAP Getting Started .
Комментарии:
1. Хорошо, интересно, я пропустил дату статьи, она датирована 2018 годом. Ссылка на статью: blog.usejournal.com/vue-js-gsap-animations-26fc6b1c3c5a Самое смешное, что GSAP ссылается на эту статью в официальной статье GSAP «Начало работы». Я бы хотел проголосовать, но у меня низкая репутация.