vue3学习笔记(2)

1.defineProps 属性

props可以实现父子组件通信,在vue3中我们可以通过defineProps获取父组件传递的数据。且在组件内部不需要引入defineProps方法可以直接使用!

javascript 复制代码
const props = defineProps<{
  agreePolicy: boolean
}>()

2. 声明触发的事件 defineEmits()

如果你正在搭配 TypeScript 使用 <script setup>,也可以使用纯类型标注来声明触发的事件:

javascript 复制代码
const $emit = defineEmits<{
  loginSuccess: [response: LoginSuccessResType]
}>()

3.子组件使用defineExpose把那个变量暴露出去

defineExpose是vue3新增的一个api,放在<scipt setup>下使用的,目的是把属性和方法暴露出去,可以用于父子组件通信,子组件把属性暴露出去, 父组件用ref获取子组件DOM,子组件暴露的方法或属性可以用dom获取。

父组件用ref获取子组件dom拿到暴露的属性

javascript 复制代码
defineExpose({
  formData,
  passRuleFlag,
  codeLogin,
  clearTimer
})
相关推荐
一只一只妖1 小时前
突发奇想,还未实践,在Vben5的Antd模式下,将表单从「JS 配置化」改写成「模板可视化」形式(豆包版)
前端·javascript·vue.js
悟能不能悟3 小时前
js闭包问题
开发语言·前端·javascript
秋秋_瑶瑶3 小时前
vue-amap组件呈现的效果图如何截图
前端·javascript·vue-amap
yuxb734 小时前
Docker学习笔记(二):镜像与容器管理
笔记·学习·docker
LFly_ice4 小时前
学习React-9-useSyncExternalStore
javascript·学习·react.js
gnip5 小时前
js上下文
前端·javascript
中草药z5 小时前
【Stream API】高效简化集合处理
java·前端·javascript·stream·parallelstream·并行流
不知名raver(学python版)5 小时前
npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR!
前端·npm·node.js
gmmi5 小时前
嵌入式学习 51单片机(3)
单片机·学习·51单片机