Konvajs + Vuejs 如何在 vue 中访问舞台宽度

Konvajs + Vuejs how to access stage width in vue

在不使用 vue 的情况下使用 Konva 时,我可以像这样访问和修改舞台宽度:

var stage = new Konva.Stage({
        container: 'container',
        width: stageWidth,
        height: stageHeight
      });

stage.width(100); //good

我不知道如何访问舞台对象,也不知道如何使用 vuejs 设置其宽度:

<template>
  <v-stage :config="configKonva">
    <v-layer>
      <v-circle :config="configCircle"></v-circle>
    </v-layer>
  </v-stage>
</template>
<script>


export default {
 methods: {
  setWidth(width) {
   //here I want to access stage and set it's width
 }
}
}

</script>

您需要为 v-stage 添加 "ref"。之后,您将可以直接访问 v-stage 组件实例。所以之后你可以调用它的方法getStage()

<v-stage :config="configKonva" ref="konva">

...

export default {
 methods: {
  setWidth(width) {
   this.$refs.konva.getStage().width(640);
 }
}