[组件传参]

本文介绍了Vue.js中组件间的通信方式,重点讲解了如何通过props从父组件向子组件传递数据,以及使用$emit实现子组件向父组件的通信。文中详细阐述了props的定义、默认值设置以及数据类型的限制,并展示了子组件如何触发事件更新父组件的状态。同时,提到了父子组件通信中的最佳实践,如只读属性和不可变数据原则。
摘要由CSDN通过智能技术生成

组件传参:

例:
CounterCom.vue

<template>
<button>5</button>
</template>

App.vue


> 01.导入: import CounterCom from './components/CounterCom.vue'
> 02.注册: components:{{CounterCom}}
> 03.使用: <CounterCom><CounterCom>

父传子

使用props 父传递给子的数组是只能读,不能修改

App.vue中:

<CounterCom :num="10">

CounterCom.vue中:

//通过props接收父元素App.vue传参(通过属性绑定的方式来传值) number
		// 在data中使用num
		// props:['num'],
		props: {
			"num": {
				type: Number,
				default: 1
			},
			
     data() {
			// 02.把传过来的num  赋值给counter
			return {
				counter: this.num
			}
		}

// Number数字 String字符串 Boolen布尔值-值类型
// Array数组 Object对象 -引用类型
// 引用的默认值使用函数返回值 default(){return:[]}

子传父

使用$emit

CounterCom.vue

<button class="active" @click="counter++;$emit('counterchange',counter)">
	{{counter}}
</button>

App.vue:

<counter-com :num=“c” @counterchange=“c=$event”>

父传子:

在这里插入图片描述

props:
默认值:value。
最大值:max。
最小值:min。
步进制:step(0.5 or 1 or …)

methods:
add
minus

data:
数值:num

numchange 数字发生改变

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值