我什至在 change
上处理轮换:
<div @change="handleRotate"></div>
<script>
export default {
data: {
rotate = 0
},
methods: {
handleRotate () {
this.rotate = this.rotate + this.getRotateAngle(e.clientX, e.clientY)
}
}
}
</script>
现在,第二个 this.rotate
在每个 change
上运行。我该怎么做才能使第二个 this.rotate
仅在第一次应用 handleRotate
运行?
原文由 alex 发布,翻译遵循 CC BY-SA 4.0 许可协议
Vue方式解决:
您可以使用 $once ,它将监听一个事件,但只监听一次。
您只需要将
.once
添加到@change
如下所示:如果这在 小提琴 中,请检查演示。
旧答案:
如果您不想为
rotate
设置初始值,您可以再设置一个变量:hasRotated
来跟踪旋转是否已更改。最初设置hasRotated
为 true,一旦旋转被更改设置hasRotated
为 false,如下所示: