Vue Typescript Konva。 Canvas onClick引发“未捕获的SyntaxError:函数语句需要函数名称”

问题描述 投票:2回答:1

我怀疑这是Konva特有的问题,但是由于我将库用作示例的基础,因此我希望包括我的代码中的最少部分来复制它。

只要在画布上单击就触发onMouseDownHandler(以及我的完整代码onMouseUpHandler),就会在我的Google开发工具控制台中引发错误"Uncaught SyntaxError: Function statements require a function name",如下所示。Gif

通过阅读文档,我已使用正确的语法编写了此文档。非常感谢您的帮助,因为我花了一个小时来解决这个问题。

<template>
  <v-stage
    ref="stage"
    class="konva-stage"
    :config="stageSize"
    :onMouseDown="onMouseDownHandler"
  />
</template>

<script lang="ts">
import Vue from 'vue'
import { Prop } from 'vue-property-decorator'
import Component, { mixins } from 'vue-class-component'
import Konva from 'konva'

@Component({
  name: 'MapCanvas'
})

export default class MapButtons extends Vue {
  stageSize = {
    width: window.innerWidth,
    height: window.innerHeight
  }

  onMouseDownHandler (e: any) : void {
    console.log('mouse down')
  }

}
</script>
<style scoped lang="scss">
.konva-stage {
  background-color: white;
  width: 100%;
  height: 100%;
  position: absolute;
}
</style>

javascript typescript vue.js konvajs
1个回答
2
投票

自己修复!

  <v-stage
    ref="stage"
    class="konva-stage"
    :config="stageSize"
    :onMouseDown="onMouseDownHandler" <-- NOT THIS
    @mousedown="onMouseDownHandler" <-- THIS
  />
© www.soinside.com 2019 - 2024. All rights reserved.