ใน Vue.js, ถึงแม้จะเป็นตัวเลือกที่ไม่ได้ใช้งานหลายๆ ครั้ง เราก็ยังสามารถใช้ JSX (JavaScript XML) เพื่อสร้างอินเทอร์เฟซของคอมโพเนนต์ในแบบที่มีความยืดหยุ่นมากขึ้น โดยใช้ Babel เพื่อคอมไพล์ JSX ให้เป็น JavaScript.
นี่คือขั้นตอนการใช้ JSX ใน Vue.js:
ติดตั้งแพ็คเกจ:
- ก่อนอื่นให้ติดตั้งแพ็คเกจ
@vue/babel-plugin-jsx
เพื่อให้ Babel รู้จักและคอมไพล์ JSX:
1
npm install @vue/babel-plugin-jsx --save-dev
- ก่อนอื่นให้ติดตั้งแพ็คเกจ
กำหนดค่า Babel:
- ในไฟล์
babel.config.js
, เพิ่ม@vue/babel-plugin-jsx
ใน plugins:
1
2
3
4
5
6
7
8module.exports = {
presets: [
'@vue/cli-plugin-babel/preset'
],
plugins: [
'@vue/babel-plugin-jsx'
]
}- ในไฟล์
สร้างคอมโพเนนต์ด้วย JSX:
- ในคอมโพเนนต์ Vue ของคุณ, คุณสามารถใช้ JSX ในส่วนของเทมเพลต:
1
2
3
4
5
6
7<template>
<div>
<h1>{title}</h1>
<button onClick={increment}>เพิ่มจำนวน</button>
<p>จำนวน: {count}</p>
</div>
</template>สร้างอินเทอร์เฟซการควบคุม:
- สร้างอินเทอร์เฟซสำหรับคอมโพเนนต์ของคุณเพื่อรับและควบคุมข้อมูล:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20import { ref } from 'vue';
const MyComponent = {
setup() {
const title = 'Vue.js และ JSX';
const count = ref(0);
const increment = () => {
count.value++;
};
return {
title,
count,
increment,
};
},
};
export default MyComponent;นำคอมโพเนนต์ JSX มาใช้งาน:
- ในแอป Vue ของคุณ, นำคอมโพเนนต์ JSX มาใช้งานเหมือนคอมโพเนนต์ปกติ:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15<template>
<div>
<MyComponent />
</div>
</template>
<script>
import MyComponent from './MyComponent';
export default {
components: {
MyComponent,
},
};
</script>รันแอปของคุณ:
- ใช้คำสั่ง
npm run serve
เพื่อรันแอปของคุณและดู JSX ที่ถูกคอมไพล์ให้เป็น JavaScript ในเบราว์เซอร์.
- ใช้คำสั่ง
นี่คือขั้นตอนพื้นฐานในการใช้งาน JSX ใน Vue.js คุณสามารถนำ JSX มาใช้ในส่วนของเทมเพลตและสร้างอินเทอร์เฟซของคอมโพเนนต์เพื่อควบคุมข้อมูลและพฤติกรรมของคอมโพเนนต์ JSX ของคุณตามความต้องการของคุณ.