vue学习笔记【九、组件通信】

props参数传递:适合父组件传值给子组件的情况

子组件:

<template>
	<div id="app">
		<div>
			<h4>姓名:{{name}}</h4>
			<h4>年龄:{{age}}</h4>
			<p>{{person}}</p>
			
			<!--子组件中点击按钮,调用父组件中的方法-->
			<button @click="logPerson('abc')">调用方法</button>
		</div>
	</div>
</template>

<script>
	export default{
		name:"ComputedAndWatch",
		
		
		//props:['name','age'],
		props:{
			name:{type:String,required:true,default:'aaaaaa'},//字符串
			age:Number,//数据
			person:Object,//对象
			logPerson:Function//函数
		}
	}
</script>

<style scoped>
	
</style>

父组件:

<template>
  <div id="app">
    <ComputedAndWatch name='aa' :age=12 :person='p':log-person='logPerson'/>			    	
  </div>
</template>

<script>
//1.引入组件
import ComputedAndWatch from './components/ComputedAndWatch.vue'

export default {
  name: 'App',
  data(){
			return {
				p:{
					name:'cx',
					age:90
				}
			}
		},
  //2.注册组件
  components: {
    ComputedAndWatch
  },
  methods:{
  	logPerson(name){
  		console.log('调用方法了。',name);
  	}
  }
}
</script>

<style>
</style>

使用props,如果需要向非子后代传递数据,需要多层逐层传递。兄弟组件之间不能直接props通信,必须借助父组件。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值