怎么用手机制作网站广州番禺区有什么大学
一,父传子——defineProps
方法:
 在父组件的模板中使用子组件标签,并且给标签自定义属性和属性名,即通过v-bind绑定数值,而后传给子组件;子组件则通过defineProps接收使用。
父组件:
<template><div ><div>我是父组件</div><<SonCom :fatherProp="msg" ></SonCom> -</div>
</template>
<script setup lang='ts'>import SonCom from '@/components/SonCom.vue';  // 引入子组件import { ref } from 'vue';const msg = ref<string>('coderkey')
</script>
 
子组件:
<template><div ><div>我是子组件</div></div>
</template>
<script setup lang='ts'>import { defineProps } from 'vue';let prop = defineProps({fatherProp: {required: true,type: String,default: 'pink',}}) console.log(prop.fatherProp)  // coderkey
</script>
 
二,子传父——defineEmits
方法:
defineEmits['自定义事件名']
 
子组件中通过emit调用父组件中的自定义事件,给父组件的这个方法里传入数据数据。
父组件:
<template><div ><div>我是父组件</div><<SonCom :fatherProp="msg" @update:fatherProp="fatherClick"></SonCom> -</div>
</template>
<script setup lang='ts'>import SonCom from '@/components/SonCom.vue';  // 引入子组件import { ref } from 'vue';const msg= ref<string>('coderkey')const fatherClick = (data:any) => {console.log(data);  // 子组件传递数据给父组件
}
</script>
 
子组件:
<template><div ><div>我是子组件</div><button  @click="sendDateHandle">子传父数据</button></div>
</template>
<script setup lang='ts'>import { defineProps,defineEmits } from 'vue';let prop = defineProps({fatherProp: {required: true,type: String,default: 'pink',}}) console.log(prop.msg)  // coderkeylet emit = defineEmits(['update:fatherProp'])const sendDateHandle = () => {emit('update:fatherProp','子组件传递数据给父组件')}
</script>
 
