【发布时间】:2022-01-17 05:49:57
【问题描述】:
我是 Vue 和 JavaScript 的新手,所以请帮助我理解这个问题:
我想在页面上动态显示加载不同的画布元素。 画布的绘制在单独的 script.js 文件中定义。
这是我的一段代码:
<canvas v-if="checkedBoxes.includes('Heart')" onload="drawHeart();" id="heartCanvas" width="300" height="240"></canvas>
<canvas v-if="checkedBoxes.includes('Star')" onload="drawStar();" id="starCanvas" width="240" height="240"></canvas>
script.js:
function drawHeart() {
let heartCanvas = document.getElementById("heartCanvas");
let c = heartCanvas.getContext('2d');
c.beginPath();
... }
但是,当画布元素出现时,它不是由 Javascript 函数 drawXY() 绘制的。在我看来,当元素出现在页面上时不会触发 onload 事件。我也用 Vue 表达式 v-on:load="drawXY" 尝试过,但没有成功。当我将事件触发器更改为onclick 时,它可以工作,但这不是我需要的。
【问题讨论】:
标签: javascript vue.js html5-canvas