拿app.vue當父組件,content.vue當子組件vue
import contents from './components/content';
data() { return { test:'0' }; }, components:{ 'v-header':headers, 'v-content':contents }
<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看成一箇中轉站app
var a = new Vue();
組件1觸發:this
<div @click="eve"></div> methods:{ eve(){ a.$emit("change",'null') } }
組件2接收:spa
<div></div> created(){ a.$on('change',()=>{ this.msg = 'null' }) }