首先 vue 实例有event对象 可以实现自定义事件,实现兄弟组件间通信。
项目结构:event.js 导出vue实例对象 Input.vue 和 list.vue 是兄弟组件 ,index.vue 引入 两个子组件,实现 Input 和list 间通信
看event.js
import vue from 'Vue'
export default new vue()
Input.vue
<template>
<div class="inputcontetn">
<input type="text" v-model="title" />
<button @click="add" class='red'>添加</button>
</div>
</template>
<script>
import event from "./event";
export default {
name: "input",
data() {
return {
title: ""
};
},
methods: {
add() {
this.$emit("add", this.title);
event.$emit('ontitle', this.title)
}
}
};
</script>
<style