vue2升级到vue3的一些使用注意事项记录(二)

简介: vue2升级到vue3的一些使用注意事项记录(二)

更多ruoyi-nbcio功能请看演示系统

gitee源代码地址

前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio

演示地址:RuoYi-Nbcio后台管理系统 http://218.75.87.38:9666/

更多nbcio-boot功能请看演示系统

gitee源代码地址

后端代码: https://gitee.com/nbacheng/nbcio-boot

前端代码:https://gitee.com/nbacheng/nbcio-vue.git

在线演示(包括H5) : http://218.75.87.38:9888

接上一节

8、对于哪些属性可能不存在的情况下最好用?来进行前段处理

比如

bpmnElementProperties.value =
      bpmnElement.value.businessObject?.extensionElements?.values?.filter((ex) => {
        if (ex.$type !== `${prefix}:Properties`) {
          otherExtensionList.value.push(ex)
        }
        return ex.$type === `${prefix}:Properties`
      }) ?? []

9、ref与shallowRef的区别

 shallowRefref的区别在于: ref可以用来定义对象(或数组)类型数据,它内部会自动通过reactive转为代理对象,但shallowRef定义对象(或数组)类型数据时,它不会通过reactive转为代理对象。

     简单来说,如果你有一个对象并希望它作为一个整体被跟踪响应式,那么应该使用ref。如果你只想跟踪对象的引用,不深入跟踪其内部属性,那么应该使用shallowRef

10、watch

      对于vue3的watch最好还是放到后面,onBeforeUnmount之前,否则可能会出现一些意想不到的问题。

      同时可以多个watch,如下:

watch(
    () => props.id,
    () => {
      bpmnElement.value = bpmnInstances().bpmnElement
      nextTick(() => {
        resetTaskForm()
      })
    },
    { immediate: true }
  )
  watch(
    // 根据名称筛选部门树
    () => deptName.value,
    (val) => {
      console.log("watch deptName",deptName)
      console.log("watch tree",tree)
      tree.value?.filter(val);
    }
  )

11、组件上 v-model 用法已更改,以替换 v-bind.sync

12、在同一元素上使用的 v-if 和 v-for 优先级已更改

13、v-bind=“object” 现在排序敏感

14、v-on:event.native 修饰符已移除

15、destroyed 生命周期选项被重命名为 unmounted

16、beforeDestroy 生命周期选项被重命名为 beforeUnmount

17、Element 和 Element Plus 框架也有所修改,需要查询官方相关资料

18、异步组件现在需要使用 defineAsyncComponent 方法来创建


相关文章
|
Linux 数据库 数据安全/隐私保护
如何使用 Docker 安装宝塔面板
Docker 是一个高效、灵活、轻量级的容器化平台,可以在单个操作系统上实现多个容器化应用的隔离和运行。而宝塔面板是一款集成了 Web 服务器、数据库和运行环境的 Linux 服务器管理面板,其功能非常强大且易于使用。在本文中,我们将介绍使用 Docker 安装宝塔面板的优势和详细命令,让您轻松搭建自己的 Web 服务。
9724 3
|
JSON 移动开发 JavaScript
多款顶级好用的 Vue 表单设计器测评推荐,可拖拽生成表单
Vue 前端开发中,表单组件是排在前三的高频使用的组件,如何快速构建表单,节省力气,避免重复造轮子呢,选择一款适合自己的前端表单设计器就非常重要了。本文介绍 4 款顶级好用的 Vue 表单设计器,其中最后一款卡拉云,是新一代低代码开发工具,不仅能自动生成各类表单,还可以拖拽生成其他常见的前端组件,一行代码连接前后端数据,可快速接入数据库/api。它是表单设计器的超集,可直接生成属于你的后台管理工具,无敌好用。
4677 0
多款顶级好用的 Vue 表单设计器测评推荐,可拖拽生成表单
|
前端开发 小程序
扩展uview复选组件库支持自定义图片+自定义内容
扩展uview复选组件库支持自定义图片+自定义内容
748 6
|
数据采集 数据可视化 Apache
Qwen2.5-Coder全系列来咯!强大、多样、实用
Qwen2.5-Coder全系列来咯!强大、多样、实用
|
小程序 开发者
Taro@3.x+Vue@3.x+TS开发微信小程序,使用自定义tabBar
本文介绍了如何在Taro项目中实现自定义tabBar。首先,在`app.config.ts`中设置`custom: true`并配置`tabBar`。
1600 1
Taro@3.x+Vue@3.x+TS开发微信小程序,使用自定义tabBar
|
安全 Java 应用服务中间件
SpringBoot:CORS是什么?SpringBoot如何解决跨域问题?
CORS是Web开发中常见且重要的机制,SpringBoot通过提供注解、全局配置和过滤器等多种方式来解决跨域问题。选择适合的方式可以帮助开发者轻松处理跨域请求,提高应用的灵活性和安全性。
900 2
|
Android开发
android中出现javax.net.ssl.SSLPeerUnverifiedException
android中出现javax.net.ssl.SSLPeerUnverifiedException
698 3
|
小程序 测试技术 API
开发字节抖音小程序踩坑记
用uni-app开发多端应用,之前打包的微x小程序好好的,打包成字节的就各种兼容问题,UI框架用的uView的1.x版本,也是各种兼容问题
|
NoSQL Java Redis
SpringBoot-自定义监听器
本文讲解如何在Spring Boot创建自定义监听器
463 0
SpringBoot-自定义监听器
|
移动开发 缓存 JavaScript