Vue ialah rangka kerja bahagian hadapan yang popular dengan paparan dipacu data pada terasnya. Dalam Vue, berkongsi data antara komponen ibu bapa dan anak adalah keperluan biasa. Apabila nilai dalam komponen anak dikemas kini, jika anda perlu mengemas kini nilai dalam komponen induk, anda perlu menggunakan sistem acara Vue.
Sistem acara Vue menyediakan mekanisme komunikasi antara komponen. Komponen menghantar acara tersuai melalui kaedah $emit Komponen induk boleh mendengar acara ini dan mengemas kini data.
Di bawah, kami akan memperkenalkan secara terperinci cara vue mengemas kini nilai modul induk.
Dalam mekanisme komunikasi Vue antara komponen, komponen induk menghantar data kepada komponen anak melalui prop, dan kaedah $emit digunakan dalam komponen anak untuk mencetuskan peristiwa komponen induk .
Tentukan data dalam komponen induk dan hantarkannya kepada komponen anak melalui props komponen diklik Apabila, kaedah $emit dicetuskan dan kandungan data yang perlu dikemas kini diluluskan.
Vue.component('child', { props: ['message'], template: '<div @click="changeMessage">{{ message }}</div>', methods: { changeMessage() { this.$emit('update:message', 'update message from child component') } } }) var app = new Vue({ el: '#app', data: { message: 'hello vue' }, mounted() { this.$on('update:message', message => { this.message = message }) } })
Akses komponen induk melalui ini.$induk dalam komponen anak, dan kemudian ubah suai terus kandungan data dalam komponen induk.
Vue.component('child', { template: '<div @click="changeMessage">{{ message }}</div>', methods: { changeMessage() { this.$parent.message = 'update message from child component' } } }) var app = new Vue({ el: '#app', data: { message: 'hello vue' } })
Akses tika akar melalui ini.$root dalam komponen anak, dan kemudian ubah suai terus kandungan data dalam tika akar.
Vue.component('child', { template: '<div @click="changeMessage">{{ message }}</div>', methods: { changeMessage() { this.$root.message = 'update message from child component' } } }) var app = new Vue({ el: '#app', data: { message: 'hello vue' } })
Atas ialah kandungan terperinci Penjelasan terperinci tentang cara vue mengemas kini nilai modul induk. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!