当前位置: 首页 > news >正文

升级 vue3 常见问题总汇

Ⅰ、前言

  • 虽然 vue3 是没有删除 vue2 的 选项式 API , 但是我们升级vue3 还是需要修改很多问题的
  • 下面来看看我们升级常见的一些问题 👇

文章目录

      • Ⅰ、前言
      • Ⅱ、解决兼容问题
        • 1、路由的创建方式
        • 2、路由的方法变化
        • 3、升级 vuex 到 4.x
        • 4、作用域 插槽语法修改
        • 5、具名插槽不能重复
        • 6、根挂载的变化
        • 7、模板 v-for ,必须在模板上挂载 key
        • 8、递归组件 写法变化
        • 9、深层样式写法变化
        • 10、生命周期钩子函数 命名修改
        • 11、数据总线 eventBus 变化
        • 12、异步组件
        • 12、ui 组件库

在这里插入图片描述

Ⅱ、解决兼容问题

1、路由的创建方式

vue2 写法

const router = new VueRouter({routes: []
});
export default router;

②改为 vue3 写法

import { createRouter, createWebHistory } from 'vue-router'
const routerHistory = createWebHistory()
const router = createRouter({history: routerHistory,routes: []
})
export default router


2、路由的方法变化

this.$router.push({path: '/bbb', query: {username: "abc"}});
  • 修改为
import { useRouter }  from  'vue-router'
const  router = useRouter()
router.push({ path:'/bbb', params:{ username: 'posva'} });

3、升级 vuex 到 4.x

vue2vue3
vue2要用vuex 3.x 版本vue3要用vuex 4.x 版本


4、作用域 插槽语法修改

2.6 以下

<template  slot-scope="row"><span>{{row.name}}</span>
</template>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<template  slot="header"><span>666</span>
</template>

2.6 以上及 3.x 则需要改为 👇

<template v-slot:default="row"><span>{{row.name}}</span>
</template><template #default="row"><span>{{row.name}}</span>
</template>
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<template v-slot:header><span>666</span>
</template>


5、具名插槽不能重复

错误写法 👇

<Comp><span>999</span><template #default><span>666</span></template><template #default><span>777</span></template>
</Comp>

正确写法 👇

<Comp><template #default><span>999</span><span>666</span><span>777</span></template>
</Comp>


6、根挂载的变化

import Vue from 'vue'
import App from './App.vue'import router from './router' //路由
import store from './store'  //vuexnew Vue({router,store,render: h => h(App)
}).$mount('#app')

修改为 👇

import { createApp } from 'vue'
import App from './App.vue'import router from './router' //路由
import store from './store'  //vuexcreateApp(App)
.use(store)
.use(router)
.mount('#app')


7、模板 v-for ,必须在模板上挂载 key

错误写法 👇

<template v-for="item in list"><div :key='item.key'>{{item.name}}</div>
</template>

正确写法 👇

<template v-for="item in list" :key='item.key'><div>{{item.name}}</div>
</template>


8、递归组件 写法变化

如一个简化的tree例子

<template><Tree :list ="list">
</template>
<script >
import Tree from './Tree.vue'
export default {
data() {return {list:[{name:'aaa' , children:[{ name:'ccc' }] } , {name:'bbb'}]}
}
</script>

vue2 需要导入本身

<template><div v-for='item in list' :key='item.name'><span>{{item.name}}</span>	<Tree :list ="list.children" v-if='list.children'></div>
</template>
<script>
import Tree from './Tree.vue'
export default {components: { Tree },}
};
</script>

vue3根据组件名

<template><div v-for='item in list' :key='item.name'><span>{{item.name}}</span>	<Tree :list ="list.children" v-if='list.children'></div>
</template>
<script>
export default {name:'Tree'
}
</script>


9、深层样式写法变化

如 :

::v-deep .input__text{  }

修改为:

:deep(.input__text){  }

可以利用 全局匹配修改
在这里插入图片描述
选择正则匹配

::v-deep\s(.*)\s:deep($1) 


10、生命周期钩子函数 命名修改

beforeDestroy() =>    beforeUnmount()
destroyed()     =>    unmounted()删除 created() 生命周期


11、数据总线 eventBus 变化

vue3 中已经移除了 eventBus 的一些方法 , 但是通过一点点代码就能自己实现一个

查看详情 => vue3 eventBus



12、异步组件

components:{asyncCom1 :() => import('../components/test-com')
}

vue3 则要 修改为 👇

import { defineAsyncComponent } from 'vue'
const asyncCom2  = defineAsyncComponent(() => import('组件路径'))

12、ui 组件库

  • ui 组件库的 ,则需要参照 ui 组件库的文档进行修改

🎈🎈 大家升级还要遇到那些问题呢? 欢迎大佬们指正!!!🎨🎨

相关文章:

升级 vue3 常见问题总汇

Ⅰ、前言 虽然 vue3 是没有删除 vue2 的 选项式 API &#xff0c; 但是我们升级vue3 还是需要修改很多问题的下面来看看我们升级常见的一些问题 &#x1f447; 文章目录Ⅰ、前言Ⅱ、解决兼容问题1、路由的创建方式2、路由的方法变化3、升级 vuex 到 4.x4、作用域 插槽语法修改…...

汽车 Automotive > T-BOX GNSS高精定位测试相关知识

参考&#xff1a;https://en.wikipedia.org/wiki/Global_Positioning_SystemGPS和GNSS的关系GPS&#xff08;Global Positioning System&#xff09;&#xff0c;全球定位系统是美国军民两用的导航定位卫星系统&#xff0c;GPS包含双频信号&#xff0c;频点L1、L2和L5GNSS&…...

大数据面试核心101问【大厂超级喜欢这些题】

之前出过《史上最全的大数据开发八股文》这篇文章&#xff0c;同学们都觉得还不错&#xff0c;但是有些同学觉得那个背起来还是有些吃力&#xff0c;于是我再次回顾了自己之前面试所有大厂的一些面试题以及牛客上面的一些面经&#xff0c;然后总结了频率问的最高的101问&#x…...

代码随想录算法训练营第四十八天 | leetcode 121. 买卖股票的最佳时机,122.买卖股票的最佳时机II

代码随想录算法训练营第四十八天 | leetcode 121. 买卖股票的最佳时机&#xff0c;122.买卖股票的最佳时机II121. 买卖股票的最佳时机122.买卖股票的最佳时机II121. 买卖股票的最佳时机 题目&#xff1a; 给定一个数组 prices &#xff0c;它的第 i 个元素 prices[i] 表示一支…...

RAD 11.3 delphi和C++改进后新增、废弃及优化的功能

RAD 11.3 delphi和C改进后新增和废弃的功能 目录 RAD 11.3 delphi和C改进后新增和废弃的功能 一、版本RAD 11.3 delphi和C改进后新增功能 1、官方视频位置&#xff1a; 2、官方文档的链接位置&#xff1a; 二、版本RAD 11.3 delphi和C改进后废弃的功能 2.1、编译器不再使…...

【C++】引用

&#x1f3d6;️作者&#xff1a;malloc不出对象 ⛺专栏&#xff1a;C的学习之路 &#x1f466;个人简介&#xff1a;一名双非本科院校大二在读的科班编程菜鸟&#xff0c;努力编程只为赶上各位大佬的步伐&#x1f648;&#x1f648; 目录前言一、引用1.1 引用概念1.2 引用特性…...

LPNet for Image Derain

Lightweight Pyramid Networks for Image Deraining前置知识高斯-拉普拉斯金字塔图像中的高频信息和低频信息为什么高斯-拉普拉斯金字塔可以实现去雨&#xff1f;可能性分析网络结构整体结构&#xff1a;子网结构&#xff1a;递归块结构&#xff1a;后续补充代码 前置知识 这…...

【NLP相关】基于现有的预训练模型使用领域语料二次预训练

❤️觉得内容不错的话&#xff0c;欢迎点赞收藏加关注&#x1f60a;&#x1f60a;&#x1f60a;&#xff0c;后续会继续输入更多优质内容❤️&#x1f449;有问题欢迎大家加关注私戳或者评论&#xff08;包括但不限于NLP算法相关&#xff0c;linux学习相关&#xff0c;读研读博…...

使用git进行项目管理--git使用及其常用命令

使用git进行项目管理 文章目录 使用git进行项目管理git使用1.添加用户名字2.添加用户邮箱3.git初始化4.add5.commit6.添加到gitee仓库7.推送到gitee8.切换版本git常用命令git add把指定的文件添加到暂存区中添加所有修改、已删除的文件到暂存区中添加所有修改、已删除、新增的文…...

Mybatis_CRUD使用

目录1 Mybatis简介环境说明:预备知识:1.1 定义1.2 持久化为什么需要持久化服务呢&#xff1f;1.3 持久层1.4 为什么需要Mybatis2 依赖配置3 CRUDnamespaceselect &#xff08;查询用户数据&#xff09;※传值方式&#xff1a;于方法中传值使用Map传值insert &#xff08;插入用…...

JVM的过程内分析和过程间分析有什么区别?

问&#xff1a; 目前所有常见的Java虚拟机对过程间分析的支持都相 当有限&#xff0c;要么借助大规模的方法内联来打通方法间的隔阂&#xff0c;以过程内分析&#xff08;Intra-Procedural Analysis&#xff0c; 只考虑过程内部语句&#xff0c;不考虑过程调用的分析&#xff…...

LearnDash测验报告如何帮助改进您的课程

某一个场景。Pennywell 大学有一门课程“Introduction to Linear Algebra”。上学期进行了两次测验。20% 的学生在第一次测验中不及格&#xff0c;而 80% 在第二次测验中不及格。在进一步评估中&#xff0c;观察到第一次测验不及格的学生在第二次测验中也不及格。在第二次测验中…...

如何通过Java将Word转换为PDF

Word是我们日常编辑文档内容时十分常用的一种文档格式。但相比之下&#xff0c;PDF文档的格式、布局更为固定&#xff0c;不易被更改。在保存或传输较为重要的文档内容时&#xff0c;PDF文档格式也时很多人的不二选择。很多时候我们都会遇到需要将Word转换为PDF的情况。下面我就…...

DOM型XSS

DOM型XSSDOM是什么DOM型XSSDOM型XSS实操DOM是什么 DOM就是Document。 文档是由节点构成的集合&#xff0c;在DOM里存在许多不同类型的节点&#xff0c;主要有&#xff1a;元素节点、文本节点&#xff0c;属性节点。 元素节点&#xff1a;好比< body >< p >< h …...

04-项目立项:项目方案、可行性分析、产品规划、立项评审

文章目录4.1 项目方案立项阶段4.2 可行性分析4.3 产品规划4.4 立项评审4.4.1 立项说明书的主要内容4.4.2 立项评审流程章节总结4.1 项目方案 学习目标&#xff1a; 能够输出产品项目方案 项目开发设计流程的主要阶段&#xff1a; 立项阶段 → 设计阶段 → 开发阶段 → 测试阶…...

数据分享|NPP VIIRS夜间灯光数据(2012-2020逐月)

2011年10月美国的“索米”国家极轨卫星伙伴卫星(Suomi National Polar-orbiting Partnership or Suomi NPP)发射,它搭载的VIIRS传感器上有一个称为DNB(Day Night Band)的波段能够在500米分辨率(比原来的OLS提高6倍)的尺度上对地表开展每天覆盖全球一次的高灵敏度(比OLS提…...

网络概论笔记

概论 网络研究的是节点和边 移动互联到物联网时代&#xff0c;只有有互联网&#xff0c;网络就不会落伍 协议&#xff1a;对等层面的实体固定的通信规则 协议包括&#xff1a;语法&#xff0c;语义&#xff0c;格式&#xff0c;次序&#xff0c;动作 网络是任意连接的 服务…...

软工2023个人作业二——软件案例分析

项目内容这个作业属于哪个课程2023年北航敏捷软件工程这个作业的要求在哪里个人作业-软件案例分析我在这个课程的目标是学习并掌握现代软件开发和项目管理技术&#xff0c;体验敏捷开发工作流程这个作业在哪个具体方面帮助我实现目标从软件工程角度分析比较我们所熟悉的软件&am…...

python数据分析表格文档Excel数据分析器统计源码

wx供重浩&#xff1a;创享软件 对话框发送&#xff1a;python表格 获取完整源码源文件说明文档可执行文件等 在PyCharm中运行《Excel数据分析师》即可进入如图1所示的系统主界面。在该界面中&#xff0c;通过顶部的工具栏可以选择所要进行的操作。 具体的操作步骤如下&#xff…...

Istio Sidecar启动顺序 - 导致的应用容器网络不通

目录一、问题二、Istio 1.7及其之后版本的解决方案2.1 方式1&#xff1a;安装Istio时全局设置2.2 方式2&#xff1a;在应用Deployment通过annotation设置2.3 holdApplicationUntilProxyStarts启用效果三、Istio 1.7之前的解决方案一、问题 线上应用集成了Spring Cloud K8S Con…...

LaTeX公式一键转换Word:学术写作的效率革命

LaTeX公式一键转换Word&#xff1a;学术写作的效率革命 【免费下载链接】LaTeX2Word-Equation Copy LaTeX Equations as Word Equations, a Chrome Extension 项目地址: https://gitcode.com/gh_mirrors/la/LaTeX2Word-Equation 作为一名研究生&#xff0c;你是否曾经为…...

【算法精解】CEC2021竞赛亚军算法-MadDE框架及代码实现(Matlab)

本文核心内容&#xff1a;  MadDE算法主要框架及该算法创新点  Matlab代码实现&#xff08;可免费获取&#xff0c;包括代码及原文献&#xff09; 不少同学改进算法有时缺乏可落地思路&#xff0c;或从文献获得灵感却苦于写不出代码。为此&#xff0c;KAU 推出【算法精解】…...

在WSL中一键部署Phi-4-mini-reasoning:Windows开发者的Linux模型推理环境搭建

在WSL中一键部署Phi-4-mini-reasoning&#xff1a;Windows开发者的Linux模型推理环境搭建 1. 为什么选择WSL部署Phi-4-mini-reasoning 对于习惯Windows环境的开发者来说&#xff0c;直接在本地运行Linux环境下的AI模型往往是个挑战。Windows Subsystem for Linux (WSL) 提供了…...

FMCW激光雷达深度剖析:从硅光芯片到车载落地的技术跃迁

1. FMCW激光雷达的技术本质&#xff1a;从硅光芯片到系统集成 第一次拆解FMCW激光雷达时&#xff0c;我被它的内部结构震撼到了——这哪里是传统意义上的激光雷达&#xff1f;分明是一个高度集成的光通信模块。与传统TOF激光雷达相比&#xff0c;FMCW最核心的突破在于它把测距原…...

SEO网络推广费用高吗_需要多少年才能收回成本

SEO网络推广费用高吗?需要多少年才能收回成本 在当今数字化经济时代&#xff0c;SEO网络推广已经成为企业提升在线可见度和吸引客户的关键手段。不少企业在决定投资SEO推广时&#xff0c;常常会对“SEO网络推广费用高吗&#xff1f;需要多少年才能收回成本”这一问题感到困惑…...

在FreeRTOS上为Zynq CAN驱动添加任务间通信:一个实用的数据收发框架搭建

在FreeRTOS上为Zynq CAN驱动构建高效任务间通信框架 当我们在Zynq平台上开发基于FreeRTOS的CAN总线应用时&#xff0c;如何安全高效地在中断服务程序(ISR)与任务之间传递数据&#xff0c;是构建稳定系统的关键挑战。本文将深入探讨一个经过实战检验的解决方案——通过消息队列和…...

MCP4151数字电位器Arduino驱动与三线SPI时序详解

1. MCP4151 数字电位器 Arduino 库深度技术解析1.1 器件本质与工程定位MCP4151 是 Microchip 推出的单通道、10kΩ 标称阻值、257 抽头&#xff08;0–256&#xff09;非易失性数字电位器。其核心价值不在于替代模拟电位器进行手动调节&#xff0c;而在于为嵌入式系统提供可编程…...

智能能耗管理系统如何助力轨道交通实现绿色低碳运营

1. 轨道交通能耗管理的痛点与转型机遇 每天早高峰的地铁站里&#xff0c;黑压压的人群挤满站台&#xff0c;列车一趟接一趟地运送乘客。很少有人注意到&#xff0c;这些看似平常的运营背后&#xff0c;隐藏着惊人的能源消耗。以某一线城市地铁系统为例&#xff0c;单条线路年用…...

棕榈酰化修饰:从基础研究到癌症治疗的5个关键突破点

棕榈酰化修饰&#xff1a;从基础研究到癌症治疗的5个关键突破点 在肿瘤免疫治疗领域&#xff0c;蛋白质翻译后修饰的调控机制正成为突破性疗法的新靶点。棕榈酰化修饰——这种将16碳棕榈酸共价连接到蛋白质半胱氨酸残基上的动态过程&#xff0c;近年来因其在癌细胞信号传导中的…...

网安第十一节

四、Web后端PHP基础安全 PHP核心原理与文件上传 1、PHP介绍 1.定义 PHP&#xff08;Hypertext Preprocessor&#xff0c;超文本预处理器&#xff09;是一门开源的服务器端脚本编程语言&#xff0c;专门用于开发Web网站的后端逻辑。 2.核心关键 服务器端&#xff1a;PHP代码只…...