vue3 子组件接收父组件的值(defineProps )

父组件

    <template>
    <div>
   
   <Menu 
     title="66" 
    :data="list" />
    </div>
</template>
//ts
<script setup lang="ts">
//js
//<script setup>
import {reactive  ,ref}  from 'vue' 
const  list=reactive<number[]>([1,2]);//Ts写法
//const  list=reactive([1,2]);//js写法
</script>


<style scoped>

</style>

子组件

<template>
    <div class="menu">
          <div class="">
            {{title}}
           {{data}}
          </div> 
    </div>
</template>

<script setup lang="ts">
import  {reactive, defineProps }  from 'vue';
 
 
type person={
    title?:string,
    data?:number[]
}

// defineProps接收父组件传输的值
defineProps<person>(); 
//默认参数  当父组件不传输title的时候 那么子组件就使用的是title默认参数(我是默认值) 不定义类型person就会报错
withDefaults(defineProps<person>(),{title:'我是默认值',data:()=>[1,2,3,3]})
 //js
 defineProps({title:'',data:[]});
</script>

<style scoped>
.menu{
    width: 100px;text-align: center;
    border: 1px solid #000;
    height: 100vh;
}
</style>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值