vue3变化的地方

1,332 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。

今天看了下vue3的官方文档,大概总结了以下几点vue3和vue2不同的地方:

  • new Vue() 不支持了 这么写createApp(App).mount('#app')
  • 生命周期有变化
  • 数组和对象的变化是否能监听到? vue2中不能检测数组和对象的变化 例如对于对象,他不能监测属性的添加或移除;对于数组,利用索引直接改变值的时候不能监听到 vue3这些都能够监听到
  • vue3多事件处理器<button @click="one(), two()"> 注意这里不仅是传递方法名,要执行方法
  • 插槽写法有点变化
  • 异步组件的写法变化
  • 组合式 API 组合式API: 自我理解:感觉就是将来分布在computed,method,生命周期中的用来处理同一逻辑功能的方法都挪到了setup中,由原来的分散分布到现在的分布在一起,方便阅读。 setup 执行时机是在 beforeCreate 之前执行,具体setup用户参考官方网站
  • Teleport Teleport类似于react 的portal,将模板渲染至指定的dom节点,例如弹窗组件虽然写在某个组件中,但是使用teleport最终呈现的结果是渲染在你设置的标签中。
  • vue与Web Components web components 是一组web原生api的总称,允许开发人员创建可重用的自定义组件 该章节阐述了如何使用自定义元素,不让vue解析成组件
  • 响应性 proxy实现对数据属性读取和设置的跟踪,不用原来那种object.defineProperty