• 从 Vue2向Vue3的迁移


    在 Vue Router API 从 v3(Vue2)到 v4(Vue3)的重写过程中,大部分的 Vue Router API 都没有变化,但是在迁移程序时,可能会遇到一些破坏性的变化。

    1、new Router 变成 createRouter

    Vue Router 不再是一个类,而是一组函数。现在不用再写new Router(),而是要调用createRouter():

    Vue2:

    1. import Router from 'vue-router'
    2. var router = new Router({
    3. ...
    4. })

    Vue3:

    1. import { createRouter } from 'vue-router'
    2. const router = createRouter({
    3. ...
    4. })

    2、新的 history 配置取代 mode

    mode:'history'配置已经被一个更灵活的history配置所取代。根据你使用的模式,必须用适当的函数替换它:

    • "history" :  createWebHistory()
    • "hash" :  createWebHashHistory()
    • "abstract" :  createMemoryHistory()

    Vue2:

    1. import Router from 'vue-router'
    2. var router = new Router({
    3. mode: 'history',
    4. routes: []
    5. })

    Vue3:

    1. import { createRouter, createWebHistory } from 'vue-router'
    2. // 还有 createWebHashHistory 和 createMemoryHistory
    3. createRouter({
    4. history: createWebHistory(),
    5. routes: []
    6. })

    3、移动了base配置

    在Vue3中,base配置被作为createWebHistory(其他 history 也一样)的第一个参数传递:

    Vue2:

    1. import Router from 'vue-router'
    2. var router = new Router({
    3. mode: 'history',
    4. base: process.env.BASE_URL,
    5. routes: []
    6. })

    Vue3:

    1. import { createRouter, createWebHistory } from 'vue-router'
    2. createRouter({
    3. history: createWebHistory(process.env.BASE_URL),
    4. routes: []
    5. })

    4、$router属性

    Vue3中调用$router.push()等属性时,不再需要this指针

    通过调用import router from "@/router"即可直接使用。

    Vue2:

    1. methods: {
    2. show: function (value) {
    3. this.$router.push({name: value});
    4. }
    5. }

    Vue3:

    1. import router from "@/router";
    2. methods:{
    3. show:function (value){
    4. router.push({name:value});
    5. }
    6. }

  • 相关阅读:
    一文彻底搞懂Mysql索引优化
    【Python】不是内部或外部命令,cmd指令报错,path环境配置
    vue 祖先组件操作后代组件方法
    手把手教你做多重线性逐步回归
    VUE状态持久化,储存动态路由
    MySQL分库分表
    Qt QWebEngineView 忽略https验证
    总结梳理HTTP状态码
    java设计模式
    Python零基础入门篇 · 21】:构造函数、类属性和实例属性的访问
  • 原文地址:https://blog.csdn.net/weixin_61562639/article/details/126488410