vue2父传子,子传父

首先看父传子

自定义一个子组件

<template>
<div>
子组件:
<span>{{inputName}}</span>
</div>
</template>
<script>
export default {
//接收父组件传递的数据
props: {
inputName: String,
},
}
</script>
<style>
</style>

定义一个父组件,并且在父组件里面引用子组件,挂载子组件,使用子组件

<template>
<div>父组件:
<input type="text"
v-model="name">
<br>
<br>
<!-- 引入子组件 -->
<child v-bind:inputName="name"></child>
</div>
</template>
<script>
import Child from './Child.vue'
export default {
components: {
Child,
},
data() {
return {
name: '',
}
},
}
</script>
<style>
</style>

测试结果:

可以看到父输入框输入,子组件成功接收到父组件传的值。ヾ(◍°∇°◍)ノ゙


子传父

子组件

<template>
<div>
子组件:
<input type="text"
v-model="childValue">
<!-- 定义一个子组件传值的方法 -->
<input type="button"
value="点击触发"
@click="childClick">
</div>
</template>
<script>
export default {
data() {
return {
childValue: '我是子组件的数据',
}
},
methods: {
childClick() {
// childByValue是在父组件on监听的方法
// 第二个参数this.childValue是需要传的值
this.$emit('childByValue', this.childValue)
},
},
}
</script>

父组件

<template>
<div>
父组件:
<input type="text"
v-model="name">
<br>
<br>
<!-- 引入子组件 定义一个on的方法监听子组件的状态-->
<Child v-on:childByValue="childByValue"></Child>
</div>
</template>
<script>
import Child from '@/components/Child.vue'
export default {
components: {
Child,
},
data() {
return {
name: '',
}
},
methods: {
childByValue(childValue) {
// childValue就是子组件传过来的值
this.name = childValue
},
},
}
</script>

结果如下:

子组件传值给父组件成功啦ヾ(◍°∇°◍)ノ゙

posted @   程序员鲜豪  阅读(540)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端
点击右上角即可分享
微信分享提示