मैं उन लोगों के लिए ईवेंट एमिटिंग और वी-मॉडल उत्तरों से सहमत हूं। हालाँकि, मुझे लगा कि मैं पोस्ट करूँगा कि मुझे कई फॉर्म तत्वों वाले घटकों के बारे में क्या मिला जो अपने माता-पिता को वापस भेजना चाहते हैं क्योंकि ऐसा लगता है कि यह Google द्वारा पहले लेख में से एक है।
मुझे पता है कि प्रश्न एक एकल इनपुट निर्दिष्ट करता है, लेकिन यह निकटतम मैच लगता था और हो सकता है कि कुछ इसी तरह के घटकों के साथ लोगों को बचाए। इसके अलावा, किसी ने भी .sync
संशोधक का उल्लेख नहीं किया है।
जहाँ तक मुझे पता है, v-model
समाधान केवल उनके माता-पिता को लौटाने वाले इनपुट के अनुकूल है। मुझे इसकी तलाश में थोड़ा समय लग गया लेकिन Vue (2.3.0) प्रलेखन दिखाता है कि घटक में भेजे गए कई प्रॉप्स को वापस माता-पिता में कैसे सिंक किया जाए (पाठ्यक्रम के उत्सर्जन के माध्यम से)।
इसे उचित रूप से .sync
संशोधक कहा जाता है ।
यहाँ दस्तावेज क्या कहते हैं:
कुछ मामलों में, हमें एक प्रोप के लिए "टू-वे बाइंडिंग" की आवश्यकता हो सकती है। दुर्भाग्य से, सच्चा दो-तरफ़ा बंधन रखरखाव के मुद्दे पैदा कर सकता है, क्योंकि बच्चे के घटक माता-पिता और बच्चे दोनों में स्पष्ट होने वाले उत्परिवर्तन के स्रोत के बिना माता-पिता को उत्परिवर्तित कर सकते हैं।
इसीलिए, इसके बजाय, हम ईवेंट्स को ईवेंट में बदलने की सलाह देते हैं
update:myPropName
। उदाहरण के लिए, एक title
प्रोप के साथ काल्पनिक घटक में
, हम एक नया मान निर्दिष्ट करने के इरादे से संवाद कर सकते हैं:
this.$emit('update:title', newTitle)
तब माता-पिता उस घटना को सुन सकते हैं और यदि चाहें तो एक स्थानीय डेटा संपत्ति को अपडेट कर सकते हैं। उदाहरण के लिए:
<text-document
v-bind:title="doc.title"
v-on:update:title="doc.title = $event"
></text-document>
सुविधा के लिए, हम .sync संशोधक के साथ इस पैटर्न के लिए एक आशुलिपि प्रदान करते हैं:
<text-document v-bind:title.sync="doc.title"></text-document>
आप किसी ऑब्जेक्ट के माध्यम से भेजकर एक बार में कई सिंक कर सकते हैं। की जाँच करें यहाँ प्रलेखन