ใน Vue.js, “Render Function” เป็นวิธีการสร้างแอปพลิเคชัน Vue โดยใช้ JavaScript แทนการใช้ HTML templates ในสถานการณ์บางกรณี การใช้ Render Function ให้คุณความยืดหยุ่นและความควบคุมมากกว่าในการสร้าง DOM และหน้าเว็บของคุณ นี่คือขั้นตอนพื้นฐานในการใช้ Render Function ใน Vue.js:
- สร้าง Vue Component แบบ Functional:
เพื่อใช้ Render Function คุณสามารถสร้าง Vue component แบบ functional โดยใช้ Vue.component
และระบุฟังก์ชัน render
ที่คืน element ของ Vue โดยตรง:
1 | Vue.component('my-component', { |
- การสร้าง Element ด้วย
h
Function:
ใน Render Function คุณจะใช้ h
function (ย่อมาจาก “hyperscript”) เพื่อสร้าง element และ component ภายใน. h
function รับอาร์กิวเมนต์แรกเป็นชนิดของ element หรือ component ที่คุณต้องการสร้าง และอาร์กิวเมนต์ที่สองเป็นคุณสมบัติและข้อมูลที่คุณต้องการให้ element หรือ component นั้นมี:
1 | render(h) { |
- การใช้ Component ภายใน Render Function:
คุณสามารถนำ component อื่น ๆ มาใช้ใน Render Function ได้โดยการใช้ h
function เช่นกัน โดยระบุชื่อ component และข้อมูลที่ต้องการ:
1 | render(h) { |
- การสร้างเงื่อนไขและลูปใน Render Function:
คุณสามารถใช้ JavaScript เพื่อสร้างเงื่อนไขและลูปภายใน Render Function เพื่อสร้าง element ตามเงื่อนไขหรือวนลูป array เช่น:
1 | render(h) { |
- การใช้ Render Function ใน Single File Components:
คุณสามารถใช้ Render Function ใน Single File Components ได้ โดยระบุ render
property ในไฟล์ Vue component:
1 | <template> |
การใช้ Render Function ใน Vue.js ให้คุณความควบคุมและความยืดหยุ่นในการสร้าง DOM และ component ของคุณ แต่มันก็มีความซับซ้อนกว่าการใช้ HTML templates ในบางกรณี ดังนั้นคุณควรใช้ Render Function เมื่อคุณต้องการควบคุมเหนือกว่าการใช้ templates และเมื่อคุณมีความเข้าใจเกี่ยวกับวิธีการทำงานของ Vue.js อย่างลึกซึ้ง.