Mixins ใน vue.js

“Mixins” ใน Vue.js เป็นรูปแบบการแบ่งปันโค้ด (code sharing) ที่ช่วยให้คุณสามารถนำโค้ดที่มีความซ้ำซ้อนหรือตัวแปรบางอย่างมาใช้ในหลาย component ได้โดยไม่ต้องเขียนโค้ดเหล่านั้นซ้ำๆ ในแต่ละ component อย่างละเอียด การใช้ Mixins ทำให้โค้ดของคุณมีความยืดหยุ่นและสามารถรวมกันใน component ได้อย่างสะดวก นี่คือวิธีการใช้ Mixins ใน Vue.js:

  1. สร้าง Mixin:

สร้างไฟล์ JavaScript สำหรับ Mixin โดยใช้อ็อบเจ็กต์ Vue.mixin และระบุคุณสมบัติที่คุณต้องการแบ่งปัน:

1
2
3
4
5
6
7
8
9
10
11
12
13
// myMixin.js
export default {
data() {
return {
count: 0,
};
},
methods: {
increment() {
this.count++;
},
},
};
  1. นำเข้า Mixin:

ใน component ที่คุณต้องการใช้ Mixin นำเข้า Mixin ด้วยคำสั่ง import และใช้ mixins ในส่วน export ของ component:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<template>
<div>
<p>Count: {{ count }}</p>
<button @click="increment">Increment</button>
</div>
</template>

<script>
import myMixin from './myMixin.js';

export default {
mixins: [myMixin],
};
</script>

ในตัวอย่างนี้เรานำเข้า Mixin myMixin และใช้ mixins เพื่อใช้ Mixin ใน component.

  1. การใช้ Mixin:

เมื่อคุณนำ Mixin เข้ามาใน component คุณสามารถใช้คุณสมบัติและเมทอดจาก Mixin ใน component นั้นได้:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<template>
<div>
<p>Count: {{ count }}</p>
<button @click="increment">Increment</button>
</div>
</template>

<script>
import myMixin from './myMixin.js';

export default {
mixins: [myMixin],
};
</script>

Mixins ใช้สำหรับการแบ่งปันโค้ดที่มีการติดต่อระหว่าง component หรือการทำงานที่ซ้ำซ้อนที่มีในหลาย component โดยไม่ต้องสร้างตัวแปรซ้ำหรือเขียนโค้ดซ้ำ. แต่ต้องระวังการใช้ Mixins ในกรณีที่มีการซ้อนทับคุณสมบัติหรือเมทอดที่ชื่อเหมือนกันใน Mixin และ component จริง เนื่องจากมันอาจทำให้เกิดปัญหาการทับซ้อนในการทำงานของแอปพลิเคชันได้.