0

我想使用这个插件来缩放和平移许多其他组件,但我正在努力找出实现的最佳方法

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 (视图)中将缩放组件包裹在其他组件周围

 <PanzoomLayer>
            <NodesLayer />
            <TipsLayer />
            <ConnectionsLayer />
</PanzoomLayer>

这似乎没有做任何事情:)有人可以指出我正确的方向吗?谢谢

4

1 回答 1

0

它对我有用:

<template>
      <div ref="panzoomElement">
         <slot />
      </div>
</template>

mounted() {
        this.$nextTick(() => {
            this.panzoom = Panzoom(this.$refs.panzoomElement, {
                maxScale: 5,
            });
        });
    },
于 2021-04-23T12:57:21.297 回答