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-listElemen 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-carkomponen Aku menugaskan this.initialPropertieske saya this.data.propertiesdi 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?
datayangtwo-wayterikat, tetapi Anda tidak bisa lewatdatake komponen, Anda lulusprops, tetapi Anda tidak dapat mengubah diterimapropsatau mengkonversipropskedata. Lalu apa? Satu hal yang saya pelajari adalah Anda haruspropsmenurunkan dan memicu peristiwa. Artinya, jika komponen ingin mengubahpropspenerimaannya, itu harus memanggil peristiwa dan "dirender". Tapi kemudian Anda pergi denganone-waypengikatan persis seperti React dan saya tidak melihat gunanya untukdataitu. Cukup membingungkan.