vue2和vue3的区别及解决办法 | 青训营笔记

126 阅读2分钟

这是我参与「第四届青训营 」笔记创作活动的第3天

没有全局事件总线EventBus

所以我用了mitt

mitt的坑,误踩!

不能直接this.bus.bus.emit("xxx",a,b)

多个变量,只能传递一个对象,不然第二个变量会显示undefined,this.$bus.emit("xxx",{a:a,b:b})

vite里图片不能用webpack里的require

所以用new url拼接图片

跨域差不多

在原型上定义方法区别

改成app.config.globalProperties

变量.sync改为v-model:变量

没有了@xxx.native这个属性

没有element-ui,所以我引入了plus

vite没有webpack的@,需要自己设置别名(已经设置好了,实在不行只能点点杠大法../../../../)

::deep要改成:deep()

Fragment(碎片)

  • 你不用再必须用一个template标签包起整个组件,一个文本一个标签,多个tempate都可以。

(悬念)

  • 可在嵌套层级中等待嵌套的异步依赖项
  • 支持async setup()
  • 支持异步组件

Custom Renderer API

  • 正在进行NativeScript Vue集成
  • 用户可以尝试WebGL自定义渲染器,与普通Vue应用程序一起使用(Vugel)。

意味着以后可以通过 vueDom 编程的方式来进行 webgl 编程 。

Vuex Router Cli

  • Vuex: 都别慌,尤一说了,Vuex的下一个版本目前还放不出来,vue3.0以目前的API为主去适配,所以暂时不会改动很大。
  • Router: 适应vue3的已经出来了,项目里已经用了,但是改版的区别没仔细分析。
  • Cli 很超前的做了vue3的工作,目前项目可以直接用cli创建,非常感谢这些团队给我们这些小白减低了很大的学习难度。

异步组件(Suspense)

  • Vue3 提供 Suspense 组件,允许程序在等待异步组件加载完成前渲染兜底的内容,如 loading ,使用户的体验更平滑。使用它,需在模板中声明,并包括两个命名插槽:default 和 fallback。Suspense 确保加载完异步内容时显示默认插槽,并将 fallback 插槽用作加载状态。