VUE3父组件向子组件传参,参数随子组件值修改

父组件

组件传参时使用v-model修饰

<template>
  <info-card v-model:info='info' v-model:info='type'></info-card>
  </template>
</template>

<script>
import {ref, unref, getCurrentInstance, watch, reactive, onMounted} from "vue";
import {useRouter} from "vue-router";

import infoCard from "@/views/infoCard";

export default {
  name: "index",
  props: [],
  emits: [],
  components: {
  	infoCard,
  },
  setup(props, content) {
    const router = useRouter()
    let data = {
    	info : reactive({}),
    	type: ref(""),
    }
    //监听
    watch(() => [props.menuList], ([newMenuList], [oldMenuList]) => {

    })
    onMounted(async () => {
    })
    let methods = {}

    return {
      router,
      ...data,
      ...methods
    }
  }
}
</script>

<style lang="scss" scoped>

</style>

子组件

使用emits声明参数,值改变时使用content.emit('update:参数',值)修改父组件值

<template>
  	
  </template>
</template>

<script>
import {ref, unref, getCurrentInstance, watch, reactive, onMounted} from "vue";
import {useRouter} from "vue-router";

export default {
  name: "infoCard",
  props: ["info","type"],
  emits: ["update:info","update:type"],
  components: {},
  setup(props, content) {
    const router = useRouter()
    let data = {
    	
    }
    //监听
    watch(() => [props.info], ([newInfo], [oldInfo) => {

    })
    onMounted(async () => {
     	//操作值
    	//将值发送给父组件
        content.emit('update:info',"")
        //扩展 发送方法
         content.emit('success',"")
    })
    let methods = {}

    return {
      router,
      ...data,
      ...methods
    }
  }
}
</script>

<style lang="scss" scoped>

</style>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叶落_无秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值