Rumah > Soal Jawab > teks badan
Menggunakan bas acara untuk komunikasi antara komponen adik-beradik,
Ini adalah salah satu komponen: qdb_list
clickChange:function(obj){
Bus.$emit('change',obj);
this.$router.push({path:'/qdb_change'});
}
Selepas acara klik dicetuskan, ia akan melompat ke komponen qdb_change
Ini adalah komponen adik-beradiknya: qdb_change
import Bus from '../bus.js'
export default {
name:'qdb_change',
data:function(){
return {
newname:'',
newstatus:'',
newinstruction:'',
text:'123456'
}
},
created:function(){
Bus.$on('change',obj=>{
console.log(obj);
this.newname=obj.qdb_name;
this.newstatus = obj.status;
this.newinstruction = obj.instruction;
});
}
}
Semua operasi penugasan kepada atribut di sini tidak sah, dan hasilnya masih merupakan nilai kosong Bagaimana saya boleh menjadikannya berkesan?
Selain itu, setiap kali anda mengklik lompat dalam qdb_list buat kali pertama, console.log(obj) tidak akan keluar Adakah mungkin $on tidak memantau acara tersebut?
Tetapi apabila anda mengkliknya untuk kali kedua, dua console.log(obj) akan muncul Adakah ini bermakna bilangan pencetus acara Bas.$emit('change',obj) akan terus terkumpul?
仅有的幸福2017-05-19 10:30:29
Dua komponen anda adalah berbeza dan tidak dipaparkan pada masa yang sama, iaitu satu dicipta dan satu lagi dimusnahkan Dalam kes ini, bas acara tidak boleh digunakan, tetapi vuex harus digunakan untuk merealisasikan perkongsian data komponen. qdb_list page emit Pada masa itu, halaman qdb_change belum dibuat atau dilaksanakan Bagaimana kita boleh memantau pancaran yang dicetuskan Secara amnya, mod pemerhati adalah untuk menghidupkan dahulu dan kemudian memancarkan