我怀疑这是Konva特有的问题,但是由于我将库用作示例的基础,因此我希望包括我的代码中的最少部分来复制它。
只要在画布上单击就触发onMouseDownHandler(以及我的完整代码onMouseUpHandler),就会在我的Google开发工具控制台中引发错误"Uncaught SyntaxError: Function statements require a function name"
,如下所示。
通过阅读文档,我已使用正确的语法编写了此文档。非常感谢您的帮助,因为我花了一个小时来解决这个问题。
<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>
自己修复!
<v-stage
ref="stage"
class="konva-stage"
:config="stageSize"
:onMouseDown="onMouseDownHandler" <-- NOT THIS
@mousedown="onMouseDownHandler" <-- THIS
/>