แนะนำ Data binding
Document ต้นฉบับ: https://vuejs.org/guide/essentials/reactivity-fundamentals.html
รู้จักกับ Reactive ก่อนว่าคืออะไร ?
Vue นั้นมีการเพิ่มความส ามารถอย่างหนึ่งมาใน Framework (และเอาจริงๆ React, Angular, Svelte) คือการสามารถ track change ของ state และ สามารถ update DOM เมื่อมี change เกิดขึ้นได้แบบ automatically โดยที่เราไม่ต้องคอยใช้คำสั่งอย่าง .innerHTML
หรือคอย update ตัวแปรกลับได้
ซึ่งคุณสมบัตินี้เราเรียกกันว่า Reactive คือความสามารถในการจัดการกับ view ใน DOM ได้อย่างอัตโนมัติ ซึ่งนี้เป็นข้อดีอย่างมากในการพัฒนา Frontend มันจะช่วยประหยัดทั้งคำสั่งของ javascript และอำนวยความสะดวกในการจัดการ state ของ javascript ด้วย
รู้จักกับ Ref
ท่าแรกสำหรับทำ reactive ของ Composition API คือ ref()
ref()
คือคำสั่งที่เปลี่ยนตัวแปรที่รับให้กลายเป็นตัวแปรแบบ reactive- argument ที่ใส่ใน
ref()
คือค่าเริ่มต้นของตัวแปร และ.value
คือวิธีดึงค่าและ update กลับไปผ่านตัวแปร reactive ได้
<script setup>
import { ref } from 'vue'
const count = ref(0)
const increment = () => {
count.value++
}
</script>
<template>
<button @click="increment">
{{ count }}
</button>
</template>
Ref สามารถใช้ได้หมดทั้งเคส int, string
<script setup>
import { ref } from 'vue'
...
const message = ref('Hello world')
...
</script>
<template>
{{ message }}
<button @click="increment">
{{ count }}
</button>
</template>