本文介紹了在vue-cli中組件通信的方法,分享給大家。具體如下:
vue組件之間的通信包括三種:
1.父組件向子組件通信
2.子組件向父組件通信
3.同級組件之間的通信
一.父傳子組件通信
拿app.vue當父組件,content.vue當子組件
1.父組件中導入子組件(子組件導出)
import contents from './components/content';
2.在父組件中注冊子組件
data() { return { test:'0' }; }, components:{ 'v-header':headers, 'v-content':contents }
3.子組件通過props來接收數據
<v-content :childs='test'></v-content>
二.子與父組件通信
子組件:
<template> <div @click="down()"></div></template>methods: { down() { this.$emit('down','null'); //主動觸發down方法,'null'為向父組件傳遞的數據 }}
父組件:
<div> <child @down="changes" :test="test"></child> //監聽子組件觸發的down事件,然后調用changes方法</div>methods: { changes(msg) { this.test= test; }}
二.非父子組件通信
//把a當作一個中轉站var a = new Vue();
組件1觸發:
<div @click="eve"></div>methods:{ eve(){ a.$emit("change",'null') }}
組件2接收:
<div></div>created(){ a.$on('change',()=>{ this.msg = 'null' })}
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答