Bu yüzden, bir Vue bileşenine props aktarmak istiyorum, ancak bu props'ların gelecekte bu bileşenin içinden değişmesini bekliyorum, örneğin, AJAX kullanarak o Vue bileşenini içeriden güncellediğimde. Bu yüzden sadece bileşenin ilklendirilmesi içindir.
Benim cars-listVue I başlangıç özellikleri olan sahne geçen yapı elemanı 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>
Bunu hemen yapmak yolu içim o single-carbileşenin ben atıyorum this.initialPropertiesbenim için this.data.propertiesilgili created()başlatma kanca. Ve işe yarıyor ve 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>
Ama bununla ilgili sorunum, bunu yapmanın doğru bir yolu olup olmadığını bilmemem mi? Yol boyunca bana bazı sorunlara neden olmaz mı? Yoksa bunu yapmanın daha iyi bir yolu var mı?
dataolduğunutwo-waybağlanmış, ancak geçemezdatabileşenlerine, geçtiğinizpropsama alınan değiştiremezsinizpropsne de dönüştürmekpropsiçindata. Sonra ne? Öğrendiğim bir şey,propsaşağı inip olayları tetiklemeniz gerektiğiydi . Yani, bileşenpropsaldığını değiştirmek isterse , bir olay çağırmalı ve "yeniden gönderilmelidir". Ama sonraone-waytam olarak React gibi bir bağlama ile kaldınız vedatao zaman için kullanımını göremiyorum . Oldukça kafa karıştırıcı.