Vue组件通信

1.props通信

父传子
javascript 复制代码
//父组件
<Child  :passValue="value">
//子组件
defineProps(['passValue'])    //接收
子传父
javascript 复制代码
//父组件
<Child  :sendValue="getValue">
function getValue(value){ ... }    //获取函数接收值
//子组件
<... @click="sendValue(value)"
defineProps(['sendValue'])    //传出函数

2.自定义事件传参

子传父
javascript 复制代码
//父组件
<Child  @sendValue="getValue">    //子组件执行时调用sendValue
function getValue(value){ ... }    //获取函数接收值
//子组件
<... @click="emit('sendValue' , value)"
const emit = defineEmits(['sendValue'])    //声明传出函数

3.v-model

javascript 复制代码
//父组件
<Child v-model="msg">
//子组件
<input v-model = "model">
const model = defineModel()

4.provide-inject向后代传值

javascript 复制代码
//父组件
import { provide } from "vue"
provide("abc",value)    //如果写x.value的话就不是响应式的了
//子组件
import { inject } from "vue"
let x = inject("abc")

//其他
inject("名" , "默认值") //inject可以加默认值
相关推荐
new出一个对象2 小时前
uniapp接入BMapGL百度地图
javascript·百度·uni-app
你挚爱的强哥3 小时前
✅✅✅【Vue.js】sd.js基于jQuery Ajax最新原生完整版for凯哥API版本
javascript·vue.js·jquery
y先森3 小时前
CSS3中的伸缩盒模型(弹性盒子、弹性布局)之伸缩容器、伸缩项目、主轴方向、主轴换行方式、复合属性flex-flow
前端·css·css3
前端Hardy3 小时前
纯HTML&CSS实现3D旋转地球
前端·javascript·css·3d·html
susu10830189113 小时前
vue3中父div设置display flex,2个子div重叠
前端·javascript·vue.js
IT女孩儿4 小时前
CSS查缺补漏(补充上一条)
前端·css
吃杠碰小鸡5 小时前
commitlint校验git提交信息
前端
天天进步20156 小时前
Vue+Springboot用Websocket实现协同编辑
vue.js·spring boot·websocket
虾球xz6 小时前
游戏引擎学习第20天
前端·学习·游戏引擎
我爱李星璇6 小时前
HTML常用表格与标签
前端·html