Хичээлээр компонент хоорондын харилцан ажиллагааны бас нэгэн аргыг авч үзье. Доод шатны /хүүхэд/ компонентоос параметр дамжуулах хичээлд бид хүүхэд компонентод үйл явц үүсгээд түүнийг эцэг компонентод сонсохыг сурсан. Өөрөөр хэлбэл эцэг компонентод тодорхойлогдсон талбарын утгыг хүүхэд компонентоос өөрчилсөн. Үүнийг хийх бас нэгэн арга бий. Жишээ нь App компонентод
<script>
import Car from './components/Car.vue'
export default {
data () {
return {
carName: 'Toyota',
carYear: 2018
}
},
methods: {
changeCarName() {
this.carName = 'Benz'
}
},
components: {
appCar: Car
}
}
</script>
carName талбарын утгыг Benz болгох changeCarName аргыг тодорхойлоод түүнийг Car компонентод
<template>
<div>
<h1>Эцэг: {{ carName }}</h1>
<app-car
:carName="carName"
:carYear="carYear"
:changeFunc="changeCarName"
@nameChanged = "carName = $event"
></app-car>
</div>
</template>
changeFunc нэрээр параметрээр дамжуулна. Car компонент
<template>
<div class="car">
<h3>Name: {{ carName }} \ {{reverseName}}</h3>
<p>Year: {{ carYear }}</p>
<button @click="changeName">Нэрийг өөрчлөх</button>
<button @click="changeFunc()">Эцгээс нэрийг өөрчлөх </button>
</div>
</template>
<script>
export default {
props: {
carName: {
type: String,
default: 'Нэр байхгүй'
},
carYear: Number,
changeFunc: Function
},
...
}
</script>
props талбартаа Function төрлийн changeFunc параметр ирнэ гэдгийг тодорхойлно. Ажиллагааг шалгахын тулд Car компонентийн темплейтэд Эцгээс нэрийг өөрчлөх товчийг нэмэн өгөөд түүн дээр дарах үйл явцын боловсруулагчаар App компонентоос ирсэн параметрийг функц байдлаар өгсөн. Өөрчлөлтүүдийг хадгалаад хуудсыг харвал
гэж харагдана. Нэрийг өөрчлөх товчийг дарвал машины нэр Prius болно гэдгийг Доод шатны /хүүхэд/ компонентоос параметр дамжуулах хичээлээс мэднэ. Харин Эцгээс нэрийг өөрчлөх товчийг дарвал
App компонентод тодорхойлсон changeCarName арга ажиллан нэрийг Benz болгоно. Нэрүүд хоёр компонентод зэрэг өөрчлөгдөж байгаагийн тухайд гэвэл carName талбарын утгыг App компонентод өөрчлөхөд Vue хуудасны өөрчлөлтийг тэр дор нь хийх учраас Car компонентод параметрээр ирэх утгууд ч бас өөрчлөгдөх болно. Энэ бол компонентууд хооронд хэрхэн харилцах өөр арга бөгөөд өмнө үзсэн болон энэ аргуудын алийг ч ашиглах боломжтой.