vue 父子组建传值

父子组件传值有两种方法,其中一种是常规的传值

父组件
<Father>
	<div @click="asd"></div>
	<Son :inputname="qwe" @childfn="parentfn"></Son>
</Father>

<script>
export default {
	data() {
   	    return {
  	        msg: '',
        };
    },
	methods: {
		asd() {
			this.qwe = 'son'
		},
		//父组件接收值
		parentfn(son) {
   		   this.msg = son
	    },
 	}
}
</script>

子组件
<Son>
    <div>{{inputname}}</div>
</Son>
<script>
export default {
    name: "Sonsb",
    props: {
    	//子组件接收值
        inputname: {
            type: String,
            default: 'qweasd'
        }
    },
    data() {
        return {
            msg: "子组件传值"
        }
    },
    mounted() {
    	//子向父传值
        this.$emit('childfn',this.msg)
    },
}
</script>

另一种是使用$refs和 $parent传值

父组件
<Father>
	<div @click="asd"></div>
	<Son ref="son"></Son>
</Father>

<script>
export default {
	data() {
   	    return {
  	        msg: '',
        };
    },
	methods: {
		//父组件传值
		asd() {
			const _this = this.$refs.son
			_this.text = 'qweasd'
		},
		//父组件接收值
		parentfn(son) {
   		   this.msg = son
	    },
 	}
}
</script>

子组件
<Son>
    <div>{{inputname}}</div>
</Son>
<script>
export default {
    name: "Sonsb",
    data() {
        return {
        	text: '',
            msg: "子组件传值"
        }
    },
    mounted() {
    	//子向父传值
        this.$parent.parentfn('zxczxc')
    },
}
</script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值