Jadi saya ingin meneruskan props ke sebuah komponen Vue, tapi saya berharap props ini berubah di masa depan dari dalam komponen itu misalnya ketika saya mengupdate komponen Vue dari dalam menggunakan AJAX. Jadi mereka hanya untuk inisialisasi komponen.
cars-list
Elemen komponen Vue saya tempat saya meneruskan props dengan properti awal ke single-car
:
// cars-list.vue
<script>
export default {
data: function() {
return {
cars: [
{
color: 'red',
maxSpeed: 200,
},
{
color: 'blue',
maxSpeed: 195,
},
]
}
},
}
</script>
<template>
<div>
<template v-for="car in cars">
<single-car :initial-properties="car"></single-car>
</template>
</div>
</template>
Cara saya melakukannya sekarang ini bahwa di dalam saya single-car
komponen Aku menugaskan this.initialProperties
ke saya this.data.properties
di created()
inisialisasi kail. Dan itu bekerja dan reaktif.
// single-car.vue
<script>
export default {
data: function() {
return {
properties: {},
}
},
created: function(){
this.data.properties = this.initialProperties;
},
}
</script>
<template>
<div>Car is in {{properties.color}} and has a max speed of {{properties.maxSpeed}}</div>
</template>
Tapi masalah saya dengan itu adalah saya tidak tahu apakah itu cara yang benar untuk melakukannya? Tidakkah itu akan membuat saya mengalami beberapa masalah di sepanjang jalan? Atau apakah ada cara yang lebih baik untuk melakukannya?
data
yangtwo-way
terikat, tetapi Anda tidak bisa lewatdata
ke komponen, Anda lulusprops
, tetapi Anda tidak dapat mengubah diterimaprops
atau mengkonversiprops
kedata
. Lalu apa? Satu hal yang saya pelajari adalah Anda harusprops
menurunkan dan memicu peristiwa. Artinya, jika komponen ingin mengubahprops
penerimaannya, itu harus memanggil peristiwa dan "dirender". Tapi kemudian Anda pergi denganone-way
pengikatan persis seperti React dan saya tidak melihat gunanya untukdata
itu. Cukup membingungkan.