Rendering ใน vue.js

“Rendering” ใน Vue.js เป็นกระบวนการแปลง (render) โค้ด HTML template และข้อมูลจาก Vue instance ให้อยู่ในรูปแบบของ DOM (Document Object Model) ที่สามารถแสดงผลบนหน้าเว็บได้ นี่คือขั้นตอนการทำ Rendering ใน Vue.js:

  1. HTML Template: เริ่มต้นโดยการสร้าง HTML template ที่ระบุโครงสร้างของหน้าเว็บแอปพลิเคชันของคุณ ใน template นี้คุณสามารถใช้ syntax ของ Vue.js เพื่อเชื่อมโยงข้อมูลและตัวแปรจาก Vue instance:
1
2
3
4
5
6
<template>
<div>
<h1>{{ message }}</h1>
<p>{{ description }}</p>
</div>
</template>
  1. Vue Instance: สร้าง Vue instance ด้วย constructor new Vue() และระบุข้อมูล (data) และ methods ที่จำเป็น:
1
2
3
4
5
6
7
8
9
10
<script>
export default {
data() {
return {
message: "Welcome to Vue.js",
description: "Vue.js is a progressive framework for building user interfaces.",
};
},
};
</script>
  1. Mounting Vue Instance: ในส่วนหนึ่งของ Vue.js application คุณต้อง “mount” Vue instance โดยระบุ element ที่คุณต้องการให้ Vue.js เริ่มทำงานบน:
1
2
3
4
5
6
7
8
<script>
import Vue from 'vue';

new Vue({
el: '#app',
render: h => h(App)
});
</script>

ในตัวอย่างนี้ #app เป็น selector ของ element ที่ Vue.js จะทำ rendering ลงไปใน DOM.

  1. Rendering Vue Components: นอกจากนี้คุณยังสามารถใช้ Vue components เพื่อแบ่ง template ของคุณเป็นส่วนย่อยและทำ rendering แบบซ้อนกัน:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<template>
<div>
<my-component></my-component>
</div>
</template>

<script>
import MyComponent from './MyComponent.vue';

export default {
components: {
'my-component': MyComponent,
},
};
</script>

ในตัวอย่างนี้เราใช้ <my-component></my-component> เพื่อทำ rendering Vue component ที่ชื่อ MyComponent.

  1. การ Render และการสร้าง DOM: Vue.js จะทำการ rendering โดยใช้ template และข้อมูลจาก Vue instance และสร้าง DOM ตามที่ระบุใน template บนหน้าเว็บ. ข้อมูลจะถูกเปลี่ยนแปลงและอัปเดตอัตโนมัติเมื่อมีการเปลี่ยนแปลงใน Vue instance.

นั่นคือขั้นตอนทั่วไปในการทำ Rendering ใน Vue.js ซึ่งช่วยให้คุณสร้างและแสดงผลหน้าเว็บแอปพลิเคชันของคุณด้วยข้อมูลและโครงสร้างที่มีความยืดหยุ่นและมีการตอบสนองต่อการเปลี่ยนแปลงข้อมูลอย่างมีประสิทธิภาพใน Vue.js.