Я немного опоздал на вечеринку здесь, но я просто хотел дополнить ответ ittus.
Все конструкторы GSAP имеют очень полный набор обратных вызовов событий, и в любом из них вы можете указатьобласть действия в этом конкретном обратном вызове, что означает, что вы можете установить, что будет this
, без непосредственного добавления анонимной функции (не то, чтобы с ней что-то не так).Таким образом, в этом случае код можно добавить в конструктор Draggable
следующим образом (я использую $refs
для получения фактического элемента DOM в коде):
data: function () {
return {
blueDragged: false
};
},
methods: {
blueDragStarted: function () {
this.blueDragged = true;
},
},
mounted: function () {
Draggable.create(this.$refs.blueElement, {
type: "x, y",
onDragStart: this.blueDragStarted,
onDragStartScope: this // Vue component instance
});
},
В этом примере мы беремПреимущество контекста, в котором создается экземпляр Draggable
.В этом контексте this
относится к экземпляру компонента, и мы передаем его как ссылку, гарантируя, что у нас есть доступ к состоянию компонента в обратном вызове.
Опять же, на самом деле нет ничего плохого в ответе ittus,Мне просто хотелось дополнить его всеми возможностями, которые GSAP может предложить в этом отношении.
Документацию GSAP Draggable можно посмотреть здесь:
https://greensock.com/docs/Utilities/Draggable
Прокрутите немного внизв раздел под названием Свойства объекта конфигурации
Демонстрационная версия