इसलिए मैं एक वीयू कंपोनेंट के लिए प्रॉपर पास करना चाहता हूं, लेकिन मैं उम्मीद करता हूं कि भविष्य में इन कंपोनेंट्स को उस कंपोनेंट के अंदर से बदल दूंगा। उदाहरण के तौर पर जब मैं AJAX का उपयोग करके उस व्यू कंपोनेंट को अपडेट करता हूं। इसलिए वे केवल घटक के प्रारंभ के लिए हैं।
मेरा cars-listVue घटक तत्व जहां मैं प्रारंभिक गुण के साथ सहारा पास करता हूं 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>
जिस तरह से मैं इसे अभी कर single-carरहा हूं कि मेरे घटक के अंदर मैं इनिशियलाइज़ेशन हुक पर असाइन this.initialPropertiesकर रहा हूं । और यह काम करता है और प्रतिक्रियाशील है।this.data.propertiescreated()
// 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>
लेकिन इसके साथ मेरी समस्या यह है कि मुझे नहीं पता कि क्या यह करने का एक सही तरीका है? क्या इससे मुझे सड़क पर कुछ परेशानी नहीं होगी? या इसे करने का एक बेहतर तरीका है?
dataजाता हैtwo-wayबाध्य है, लेकिन आप पारित नहीं हो सकताdataघटकों के लिए, आप पारितprops, लेकिन आप प्राप्त नहीं बदल सकते हैंpropsऔर न ही परिवर्तितpropsकरने के लिएdata। फिर क्या? एक चीज जो मैंने सीखी है वह यह है कि आपकोpropsघटनाओं को कम करना चाहिए और घटनाओं को ट्रिगर करना चाहिए । यही है, अगर घटकpropsइसे प्राप्त बदलना चाहता है, तो उसे एक घटना को कॉल करना चाहिए और "पुन: प्रस्तुत करना" चाहिए। लेकिन फिर आपone-wayरिएक्ट की तरह एक बंधन के साथ छोड़ दिए जाते हैं और मैंdataतब के लिए उपयोग नहीं देखता । बहुत भ्रामक।