#vue.js #zooming #pan #panzoom
#vue.js #масштабирование #панорамирование #panzoom
Вопрос:
Я хотел бы использовать этот плагин для масштабирования и панорамирования ряда других компонентов, но изо всех сил пытаюсь найти наилучший способ реализации
https://github.com/timmywil/panzoom Это выглядит как хорошая библиотека для использования
Я только начал играть, но мое предположение состояло в том, чтобы создать базовый компонент
<template>
<div>
<div style="overflow: hidden">
<div id="panzoom-element">
<slot />
</div>
</div>
</div>
</template>
<script>
import Panzoom from '@panzoom/panzoom'
export default {
props: {
options: { type: Object, default: () => {} },
},
mounted() {
this.panzoom = Panzoom(document.getElementById('panzoom-element'), {
maxScale: 5,
})
},
methods: {},
}
</script>
Затем я в своем Home.vue (view), чтобы обернуть компонент масштабирования вокруг других
<PanzoomLayer>
<NodesLayer />
<TipsLayer />
<ConnectionsLayer />
</PanzoomLayer>
Похоже, это ничего не дало 🙂
Может кто-нибудь указать мне правильное направление, пожалуйста?
Спасибо
Ответ №1:
Это хорошо работает для меня:
<template>
<div ref="panzoomElement">
<slot />
</div>
</template>
mounted() {
this.$nextTick(() => {
this.panzoom = Panzoom(this.$refs.panzoomElement, {
maxScale: 5,
});
});
},