广州网站建设系统关键词提取工具app
---生命周期函数(组合式API)
示例代码(其他同理):
onMountend(()=>{close.log('11')
})
---父子通信
--父传子
--子传父
---ref与defineExpose进行模块引用
--ref(获取dom元素)-在vue3中很关键
--defineExpose (暴露组件数据和方法)
作用:对子组件的方法进行暴露
---跨层级通信(provide inject)
使用时先要导入对应函数provide inject
传递数据:
message就是传入的数据了~
传递方法:
---defineOptions(定义Options API选项) 扩展
---v-model(基于defineModel)
原理:
原生的v-model示例代码(不推荐):
父组件:
<ChannelSelect v-model="params.cate_id"></ChannelSelect>
子组件(代码片段):
<script setup>
// 父传子 接受v-model的值
defineProps({modelValue:{type:[Number,String]}
})// 子传父的 值
const emit = defineEmits(['update:modelValue'])</script>
<template><!-- 手动接受v-model的值 修改和更新老爹的数据 $event为当前选中的值 --><el-select :modelValue="modelValue" @update:modelValue="emit('update:modelValue',$event)"style="width: 200px;">......</el-select>
</template>
使用(defineModel函数)的v-model(推荐):
需要导入defineModel函数 v-model获取的值可全局修改
声明:无需再传递数据,父子组件可直接用v-model双向绑定传递数据