Saya setuju dengan acara memancarkan dan jawaban model-v untuk yang di atas. Namun, saya pikir saya akan memposting apa yang saya temukan tentang komponen dengan beberapa elemen bentuk yang ingin dipancarkan kembali ke induknya karena ini sepertinya salah satu artikel pertama yang dikembalikan oleh google.
Saya tahu pertanyaannya menentukan input tunggal, tetapi ini tampaknya paling cocok dan mungkin menghemat waktu orang dengan komponen vue yang serupa. Juga, belum ada yang menyebutkan .sync
modifikator.
Sejauh yang saya tahu, v-model
solusinya hanya cocok untuk satu input yang kembali ke orangtua mereka. Saya mengambil sedikit waktu untuk mencarinya tetapi dokumentasi Vue (2.3.0) menunjukkan bagaimana cara menyinkronkan beberapa alat peraga yang dikirim ke komponen kembali ke induknya (tentu saja melalui emit).
Itu tepat disebut .sync
pengubah.
Inilah yang dikatakan dalam dokumentasi :
Dalam beberapa kasus, kita mungkin membutuhkan "ikatan dua arah" untuk penyangga. Sayangnya, pengikatan dua arah yang benar dapat membuat masalah pemeliharaan, karena komponen anak dapat memutasi induk tanpa sumber dari mutasi itu menjadi jelas di kedua induk dan anak.
Karena itu, kami sarankan memancarkan acara dalam pola
update:myPropName
. Misalnya, dalam komponen hipotetis dengan
title
prop, kita dapat mengomunikasikan maksud pemberian nilai baru dengan:
this.$emit('update:title', newTitle)
Kemudian orang tua dapat mendengarkan acara itu dan memperbarui properti data lokal, jika mau. Sebagai contoh:
<text-document
v-bind:title="doc.title"
v-on:update:title="doc.title = $event"
></text-document>
Untuk kenyamanan, kami menawarkan singkatan untuk pola ini dengan pengubah .sync:
<text-document v-bind:title.sync="doc.title"></text-document>
Anda juga dapat menyinkronkan banyak sekaligus dengan mengirim melalui objek. Lihat dokumentasi di sini