SVG → Vue
SVG เป็นคอมโพเนนต์ Vue
ห่อ SVG ใด ๆ ให้เป็นคอมโพเนนต์ไฟล์เดียว .vue — หรือหยิบเฉพาะบล็อกเทมเพลตไปใส่ในคอมโพเนนต์ที่คุณมีอยู่แล้ว
ไม่ต้องเปลี่ยนชื่ออะไรเลย
ทำไมงานฝั่ง Vue จึงน้อยกว่า React ในเรื่องนี้
เทมเพลตของ Vue ถูกแยกวิเคราะห์แบบ HTML ดังนั้น SVG จึงใส่เข้าไปได้ตรงตามที่เขียนมาเลย stroke-width ก็ยังเป็น stroke-width, class ก็ยังเป็น class และแอตทริบิวต์ style แบบอินไลน์ก็ยังทำงานได้ การแปลงจึงแทบเป็นแค่การห่อไฟล์ — นั่นคือเหตุผลที่ผลลัพธ์หน้าตาใกล้เคียงกับต้นฉบับมาก
ที่เหลือเป็นหน้าที่ของการส่งต่อแอตทริบิวต์ เมื่อมีอิลิเมนต์รากเพียงตัวเดียว อะไรก็ตามที่คุณใส่ให้คอมโพเนนต์จะไปลงที่แท็ก svg ดังนั้น width, class หรือตัวจัดการคลิกจึงทำงานได้โดยไม่ต้องประกาศ prop สักตัว
สามขั้นตอน
วิธีแปลง SVG เป็นคอมโพเนนต์ Vue
01
วางไฟล์ SVG
เลือกไฟล์ .svg — ไฟล์ยังอยู่ในอุปกรณ์ของคุณ
02
คัดลอกบล็อกที่ต้องการ
ไฟล์ .vue ทั้งไฟล์ หรือเฉพาะเทมเพลต
03
วางลงในโปรเจกต์
import เหมือนคอมโพเนนต์อื่น แล้วกำหนดขนาดจากภายนอก