본문으로 건너뛰기

เนื้อหาภาษาไทย / 태국어 콘텐츠

시스템 가이드 검수 완료된 콘텐츠

การใช้ Template ใน Vue.js

Template ใน Vue.js ใช้สำหรับกำหนดโครงสร้าง HTML ที่แสดงผลในหน้าจอ โดย Vue.js จะช่วยเชื่อมโยงระหว่างข้อมูล (Data) และการแสดงผล (View) อย่างมีประสิทธิภาพ

1. Template ใน Vue.js คืออะไร?

Template ใน Vue.js ใช้สำหรับกำหนดโครงสร้าง HTML ที่แสดงผลในหน้าจอ โดย Vue.js จะช่วยเชื่อมโยงระหว่างข้อมูล (Data) และการแสดงผล (View) อย่างมีประสิทธิภาพ


2. Syntax พื้นฐานใน Template

การแสดงค่าด้วย Interpolation

  • การใช้ {{ }} เพื่อแสดงค่าจาก Data:
<template>
  <div>
    <h1>{{ message }}</h1>
  </div>
</template>

<script>
export default {
  data() {
    return {
      message: 'Hello Vue!'
    };
  }
};
</script>

ผลลัพธ์:

Hello Vue!

การใช้ Directives

Directives เป็นคำสั่งพิเศษใน Vue.js ที่เริ่มต้นด้วย v- เช่น v-bind, v-if, และ v-for

ตัวอย่าง:

  1. v-bind: ใช้สำหรับผูกข้อมูลกับ Attribute ของ HTML เช่น class หรือ id
<template>
  <div>
    <a :href="url">Click Here</a>
  </div>
</template>

<script>
export default {
  data() {
    return {
      url: 'https://vuejs.org'
    };
  }
};
</script>
  1. v-if และ v-else: ใช้สำหรับการแสดงผลแบบเงื่อนไข
<template>
  <div>
    <p v-if="isLoggedIn">Welcome back!</p>
    <p v-else>Please log in.</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isLoggedIn: true
    };
  }
};
</script>
  1. v-for: ใช้สำหรับการวนลูปแสดงรายการ
<template>
  <ul>
    <li v-for="(item, index) in items" :key="index">{{ item }}</li>
  </ul>
</template>

<script>
export default {
  data() {
    return {
      items: ['Apple', 'Banana', 'Cherry']
    };
  }
};
</script>

ผลลัพธ์:

- Apple
- Banana
- Cherry

3. การ Binding Attribute ด้วย v-bind

v-bind ใช้สำหรับผูกค่าใน Data กับ Attribute ของ HTML เช่น class, id, href:

<template>
  <div :class="dynamicClass">This is a dynamic class example</div>
</template>

<script>
export default {
  data() {
    return {
      dynamicClass: 'highlight'
    };
  }
};
</script>

<style>
.highlight {
  color: red;
  font-weight: bold;
}
</style>

ผลลัพธ์:
ข้อความจะมีสีแดงและตัวหนา


4. การ Binding ข้อมูลแบบสองทางด้วย v-model

v-model ใช้สำหรับการเชื่อมโยงข้อมูลแบบสองทาง เช่น การป้อนข้อมูลในฟอร์ม:

<template>
  <div>
    <input v-model="name" placeholder="Enter your name" />
    <p>Hello, {{ name }}</p>
  </div>
</template>

<script>
export default {
  data() {
    return {
      name: ''
    };
  }
};
</script>

ผลลัพธ์:
เมื่อผู้ใช้กรอกชื่อในช่อง Input ข้อความจะแสดงผลตามข้อมูลที่ป้อน


5. ตัวอย่างการรวม Directives

<template>
  <div>
    <h1 :class="{ active: isActive }">Dynamic Class Example</h1>
    <p v-if="isActive">This text is visible when active.</p>
    <ul>
      <li v-for="item in items" :key="item.id">{{ item.name }}</li>
    </ul>
    <button @click="toggleActive">Toggle Active</button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      isActive: true,
      items: [
        { id: 1, name: 'Item 1' },
        { id: 2, name: 'Item 2' },
        { id: 3, name: 'Item 3' }
      ]
    };
  },
  methods: {
    toggleActive() {
      this.isActive = !this.isActive;
    }
  }
};
</script>

<style>
.active {
  color: green;
}
</style>

ผลลัพธ์:

  • เมื่อ isActive เป็น true ข้อความจะมีสีเขียวและแสดงข้อความพิเศษ
  • คลิกปุ่มเพื่อสลับสถานะการแสดงผล

6. สรุป

ในบทนี้ คุณได้เรียนรู้เกี่ยวกับ:

  • การใช้ Template ใน Vue.js
  • การแสดงผลด้วย Interpolation
  • การใช้ Directives เช่น v-bind, v-if, v-for, และ v-model
  • การผูกข้อมูลแบบสองทาง

ในบทถัดไป เราจะเจาะลึกเกี่ยวกับ Data และ Methods เพื่อเพิ่มความสามารถในการควบคุม Component ของคุณ!

Office.in.th Custom Service

이 구조를 바탕으로 시스템을 개발하거나 맞춤 변경하고 싶으신가요?

Office.in.th는 엔터프라이즈 웹 애플리케이션, API 연동, 공공/민간 업무 관리 시스템을 설계·개발하며 장기 지원을 제공합니다.

소프트웨어 개발 서비스 보기