App组件:
<template>
<div>
<Input :receive="receive" />
<Output :data1="data1" />
<!-- 向Output组件传递data1 -->
</div>
</template>
<script>
import Input from "./components/Input";
import Output from "./components/Output";
export default {
name: "App",
components: { Input, Output },
data() {
return {
data1: "",
};
},
methods: {
receive(title) {
this.data1 = title; //将Input传递过来的值赋值给data1
},
},
};
</script>
Input组件:
<template>
<div class="demo">
<input type="text" v-model="title" />
<button @click="addDo">添加</button>
</div>
</template>
<script>
export default {
name: "Input",
props: ["receive"],
data() {
return {
title: "",
};
},
methods: {
addDo() {
this.receive(this.title);
//只要上面的button一点击,就会执行addDo这个函数,触发receive函数的执行,接收title的值
},
},
};
</script>
<style>
</style>
Output组件:
<template>
<div>
<textarea v-model="data1"></textarea>
</div>
</template>
<script>
export default {
name: "Output",
props: ["data1"],
data() {
return {};
},
};
</script>
<style lang="css">
textarea {
width: 500px;
height: 500px;
}
</style>