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-list
Vue 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-car
bileşenin ben atıyorum this.initialProperties
benim için this.data.properties
ilgili 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ı?
data
olduğunutwo-way
bağlanmış, ancak geçemezdata
bileşenlerine, geçtiğinizprops
ama alınan değiştiremezsinizprops
ne de dönüştürmekprops
içindata
. Sonra ne? Öğrendiğim bir şey,props
aşağı inip olayları tetiklemeniz gerektiğiydi . Yani, bileşenprops
aldığını değiştirmek isterse , bir olay çağırmalı ve "yeniden gönderilmelidir". Ama sonraone-way
tam olarak React gibi bir bağlama ile kaldınız vedata
o zaman için kullanımını göremiyorum . Oldukça kafa karıştırıcı.