vue3随笔记录

主要记录vue3使用过程的一些细节点

    • [1.toRefs 响应式解构](#1.toRefs 响应式解构)
    • [2.provide + inject异步传递爷孙组件数据](#2.provide + inject异步传递爷孙组件数据)
    • 3.defineExpose暴露子组件方法

1.toRefs 响应式解构

当你在组件中接收 props 的时候,如果只是简单的解构的话,是没有响应式的

所以可以使用 toRefs 来进行解构,这样解构出来的每一个属性都是一个 Ref

clike 复制代码
const {title, count} = toRefs(props)

2.provide + inject异步传递爷孙组件数据

使用链接

当你在封装一些比较复杂的组件时,涉及到的组件层数会比较多 的时候,使用 props 进行数据传递会比较麻烦,所以可以使用 provide + inject 来进行数据传递共享

3.defineExpose暴露子组件方法

vue3父子组价里,父组件使用子组件的方法,需要子组件使用defineExpose将对应方法暴露出来

clike 复制代码
// son.vue
<script>
	defineExpose({
	  sonFun1,
	  sonFun2,
	})
</script>

// far.vue
<script>
  	let sonRef = ref(null)
	sonRef.value?.sonFun1()
</script>
相关推荐
拉不动的猪16 小时前
移动端调试工具VConsole初始化时的加载阻塞问题
前端·javascript·微信小程序
大金乄19 小时前
封装一个vue2的elementUI 表格组件(包含表格编辑以及多级表头)
前端·javascript
Lee川21 小时前
解锁 JavaScript 的灵魂:深入浅出原型与原型链
javascript·面试
swipe1 天前
从原理到手写:彻底吃透 call / apply / bind 与 arguments 的底层逻辑
前端·javascript·面试
Lee川1 天前
探索JavaScript的秘密令牌:独一无二的`Symbol`数据类型
javascript·面试
Lee川1 天前
深入浅出JavaScript事件机制:从捕获冒泡到事件委托
前端·javascript
光影少年1 天前
async/await和Promise的区别?
前端·javascript·掘金·金石计划
codingWhat1 天前
如何实现一个「万能」的通用打印组件?
前端·javascript·vue.js
前端Hardy1 天前
别再无脑用 `JSON.parse()` 了!这个安全漏洞你可能每天都在触发
前端·javascript·vue.js
前端Hardy1 天前
别再让 `console.log` 上线了!它正在悄悄拖垮你的生产系统
前端·javascript·vue.js