1 回答
TA贡献1943条经验 获得超7个赞
因为 if(this.width==290){你只在第一次的时候检测了,后来的 interval 里没有去检测,所以失败。
//子组件
<template>
<div><canvas width="400" height="400" ref="drawing"></canvas></div>
</template>
<script>
var interval;//new added
export default {
mounted(){
interval=setInterval(this.drawing,200);
},
name: "canvas-animation",
data(){
return {width:100}
},
methods:{
drawing() {
var context=this.$refs.drawing.getContext("2d");
context.fillStyle="#409eff";
context.fillRect(10,10,this.width,this.width);
this.width=this.width+10;
if(this.width==290){
console.log("over");
clearInterval(interval);
}
}
}
}
</script>
<style scoped>
</style>
添加回答
举报