vue父子组件 子传父、父传子
子传父
vue子传父使用$emit传值
子组件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <template> <div> <button @click= "toParent" >点击传到父级</button> </div> </template> <script> export default { name: 'child' , methods: { toParent () { this .$emit( 'fromChild' , 'child' ) } } } </script> |
父组件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | <template> <div> <p>子级传过来的值:{{childVal}}</p> <child @fromChild= "getChild" ></child> </div> </template> <script> import child from "@/components/child" ; export default { name: 'parent' , data () { return { childVal: '' } }, components: { child }, methods: { getChild (v) { this .childVal = v; } } } </script> |
父传子
子组件使用props接收 接收时还可以设置默认值 当没获取到值时 会使用设置的默认值
父组件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <template> <div> <child :tochild= "parentVal" ></child> </div> </template> <script> import child from "@/components/child" ; export default { name: 'parent' , data () { return { parentVal: 'parent' , } }, components: { child } } </script> |
子组件:
<template>
<div>
<p>父级传过来的值:{{tochild}}</p>
</div>
</template>
<script>
export default {
name: 'child',
//prop可以是数组也可以是对象
props: ['parentVal'],
props: {
tochild: String,
default:'', //默认值
required:true //是否为必填项
}
}
</script>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!