企业项目管理、ORK、研发管理与敏捷开发工具平台

网站首页 > 精选文章 正文

Vue3 的这些小 Tips 你知道多少 ?

wudianyun 2025-02-06 16:38:11 精选文章 14 ℃

vue3 已经发布很久了,但是也有很多小伙伴因为兼容性的问题,还是使用 vue2 的版本。所以大家对 vue3 的熟练度还远远不如 vue2。今天我们来盘点一下一些 vue3 代码中的小 Tips, 看看你知道多少。

善用调试hook

vue3 新增了 onRenderTracked 和 onRenderTracked 两个 hook 在开发环境中用于追踪依赖的调用过程。

  • onRenderTracked 当组件渲染过程中追踪到响应式依赖时调用
  • onRenderTriggered 调试钩子,当响应式依赖的变更触发了组件渲染时调用。

善用 VNode 节点生命周期

在vue中,每个节点 VNode 在不同的生命周期内都会触发不同的生命周期函数,我们可以监听这些生命周期来处理我们想要做的事情。这些生命周期函数包括以下钩子:

  • onVnodeBeforeMount
  • onVnodeMounted
  • onVnodeBeforeUpdate
  • onVnodeUpdated
  • onVnodeBeforeUnmount
  • onVnodeUnmounted


这些生命周期函数在 vue 文档中并未体现,应该是属于内部使用

Teleport

官方的解释是Teleport 组件内的插槽内容渲染到 DOM 中的另一个位置。

通过 Teleport 组件,我们可以在项目的任意组件位置定义渲染在指定挂载点的内容,非常方便。以前在vue2 还得手动 mount 再 appendChild 才能实现。

Fragments

通过 Fragments 特性,我们可以在组件内定义多个根组件了。

Suspense

虽然这是一个实验性质的内置组件,但是在解决异步数据展示的场景非常实用,它将以前要写大量的样本代码逻辑进行抽象,只需要通过指定的插槽传入对应的元素即可。

useAttrs & useSlots

在 setup 中,我们现在可以使用 useAttrs 和 useSlots 钩子,实现组件attrs 参数和 slot 属性的获取。避免以前通过this.$attrs 的方式进行获取。进一步降低代码的复杂度。

而且在 vue3 中 attrs 现在包括了传给子组件的所有属性(attr、class、 style)

自定义 v-model

在组件善于使用自定义的 v-model 这样在组件通信的上,可以减少很多不必要的样式代码使用。在vue3 中,自定义 v-model 采用了新的实现方案:


可以看出 vue3 在自定义 v-model 上更加统一了,以前 vue2 自定义 v-model 的时候,外部绑定是使用 属性 + .sync 修饰符的。现在是直接可以使用 v-model+参数的形式,更加直观了。

小结

如果你有在日常开发使用还有其他关于 vue3 的使用技巧,欢迎留言评论,大家一起探讨,一起进步~

Tags:

最近发表
标签列表