簡體   English   中英

如何在組件中使用帶有 Vue 的畫布?

[英]How to use canvas with Vue in component?

我很想以這種方式將畫布添加到我的 Vue 組件中,但它不起作用。

屏幕截圖上的代碼結果。 控制台中沒有錯誤和警告。 代碼結果

我嘗試使用<canvas id="canvas"></canvas>來獲取 canvas document.getElementById("canvas")但它也不起作用。

如何在 Vue 組件中使用畫布

<template>
    <div>
        <canvas
            ref="canvas"
        ></canvas>
    </div>
</template>

<script>
export default {
    name: 'levelOne',
    data: () => ({
    }),
    methods:{
        func(){
            let cvn = this.$refs.canvas;
            let ctx = cvn.getContext("2d");  
            let bg = new Image();
            bg.src = "../assets/bg.png";
            bg.onload = function() {
                    ctx.drawImage(bg, 0 ,0);
            };
        }
    },
    mounted(){
        this.func();
    }
}
</script>

你可以這樣試試:

<script>
import myImage from "./assets/bg.png";

export default {
    name: 'levelOne',
    data: () => ({
    }),
    methods:{
        func(){
            let cvn = this.$refs.canvas;
            let ctx = cvn.getContext("2d");  
            let bg = new Image();
            bg.src = myImage;
            bg.onload = function() {
                    ctx.drawImage(bg, 0 ,0);
            };
        }
    },
    mounted(){
        this.func();
    }
}
</script>

或者簡單地將您的圖像移動到public文件夾中,然后:

bg.src = "/bg.png";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM