vue父访问子&子访问父

  • 父访问子
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>vue父访问子</title>
</head>
<body>

<div class="app" id="app">
	<h2>vue父访问子两种方式</h2>
	<ul>
		<li>this.$children,通过下标访问,不常用</li>
		<li>this.$refs,通过指定名字访问,常用</li>
	</ul>

	<cpn></cpn>
	<cpn></cpn>
	<cpn ref='refname'></cpn>

	<button @click='way_child'>children访问</button>
	<button @click='way_refs'>refs访问</button>
</div>


<template id="cpn">
	<div>   
		我是子组件内容
	</div>
</template>

<script src="https://cdn.jsdelivr.net/npm/vue@2.6.12"></script>
<script>


const cpn = {
	template:'#cpn',
	data(){   // data 必须是函数,而且return 一个对象
		return {
			name:'我是name'
		}
	},
	methods:{
		//定义函数,向父组件传递事件
		item_click(){
			console.log('item_clicked')
		},
	},
}

const app = new Vue({
	el:'#app',
	data:{},
	// 组件化开发第2步:局部注册组件(component有s),组件配置已抽离在 全局cpn 变量
	components:{'cpn':cpn}, 
	methods:{
		way_child(){
			console.log('children查看所有组件',this.$children)
			console.log('children访问下标0的name',this.$children[0].name)
		},
		way_refs(){
			console.log('refs定向访问',this.$refs.refname.name)
		}
	}
})

</script>
</body>
</html>
  • 父访问子的运行界面和打印结果

在这里插入图片描述

  • 子访问父通过:
  • 1、this.$parent 访问上一级组件,也可能是vue实例
  • 2、this.$root 访问根组件,即系vue实例
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值