vue2升级vue3问题bug解决分析整理

 更新时间:2023年10月30日 11:50:18   作者:buddha  
这篇文章主要介绍了vue2升级vue3遇到的问题bug解决分析整理,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

一.依旧使用vue2的写法所遇到的问题

1.Property 'codeArr' does not exist on type 'CreateComponentPublicInstance<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, {}, {}, false, {}, {}, OptionTypesType<{}, {}, {}, {}, {}, {}>, ... 5 more ..., {}>'.

56 |   computed: {
    57 |     isBtnDis() {
  > 58 |       return this.codeArr.length === 6;
       |                   ^^^^^^^
    59 |     }
    60 |   },

解决方法

所有在computed里面的计算属性的返回值都要注明返回类型

改成:

computed: {
  isBtnDis(): boolean  {
    return this.codeArr.length === 6;                    
  } 
},

2.mapGetters写法错误

解决方法:

改成:

computed: {
    ...mapGetters({ isalive: "alive" })
  },

computed: {
    ...mapGetters("alive")
  },

二.使用vue3的setup写法所遇到的问题

1.调用computed里的值名字后面要加上.value

比如:

setup(){
    const isBtnDis = computed(()=>{
        return return this.codeArr.length === 6;
    })
    console.log(isBtnDis.value)
}

三.vue3与vue2不兼容的地方

1.Vue3的路由重定向的正确写法

{
    path: "/:pathMatch(.*)*",
    redirect: "/home"
}

{
    path: "/:pathMatch(.*)",
    redirect: "/home"
}

{
    path: "/:catchAll(.*)",
    redirect: "/home"
}

2.配置postcss-pxtorem,设计图尺寸是375px,postcss-pxtorem升级之前的写法是rootValue:37.5,但是经过转换后的尺寸却特别的小,页面看起来就像是平板或者pc上的,经过测试发现改成rootValue:16或者viewportWidth: 375会和升级之前的rootValue:37.5几乎没有差别

const { defineConfig } = require("@vue/cli-service");
const autoprefixer = require("autoprefixer");
const pxtorem = require("postcss-pxtorem");
module.exports = defineConfig({
  publicPath: "./",
  outputDir: "dist",
  transpileDependencies: true,
  lintOnSave: false,
  productionSourceMap: false,
  css: {
    loaderOptions: {
      postcss: {
        postcssOptions: {
          plugins: [
            autoprefixer({
              overrideBrowserslist: ["Android >= 4.0", "iOS >= 7"]
            }),
            pxtorem({
              viewportWidth: 375,
              propList: ["*"]
            })
          ]
        }
      }
    }
  }
});

以上就是vue2升级vue3遇到的问题解决分析整理的详细内容,更多关于vue2升级vue3问题解决的资料请关注脚本之家其它相关文章!

相关文章

  • vue路由教程之静态路由

    vue路由教程之静态路由

    这篇文章主要给大家介绍了关于vue路由教程之静态路由的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用vue具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • Vue实现全局异常处理的几种方案

    Vue实现全局异常处理的几种方案

    本文主要介绍了使用pyscript在网页中撰写Python程式的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • Vue3实现AI流式打字机的完整解决方案

    Vue3实现AI流式打字机的完整解决方案

    本文介绍了基于MessageChannel实现Vue AI流式对话的方案,通过SSE流式解析、时间切片、任务队列等技术,实现了非阻塞UI渲染和完美处理分包粘包问题,同时提供了一套可复用的Hook,并进行了详细的对比分析,需要的朋友可以参考下
    2026-04-04
  • vue.js实例对象+组件树的详细介绍

    vue.js实例对象+组件树的详细介绍

    这篇文章主要介绍了vue.js实例对象+组件树的相关资料,需要的朋友可以参考下
    2017-10-10
  • vue中向data添加新属性的三种方式小结

    vue中向data添加新属性的三种方式小结

    这篇文章主要介绍了vue中向data添加新属性的三种方式小结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • 解决vue中菜单再次点击内容不刷新问题

    解决vue中菜单再次点击内容不刷新问题

    当elementUI中菜单打开后,再次点击不会刷新的问题,导致菜单再次点击不刷新的根本原因是页面打开后,再次打开相同的页面是不会刷新的,这应该是框架的机制就是如此,小编整理了两个比较不错的解决方法,需要的朋友可以参考下
    2023-08-08
  • vue实现两级select联动+input赋值+select选项清空

    vue实现两级select联动+input赋值+select选项清空

    这篇文章主要介绍了vue实现两级select联动+input赋值+select选项清空过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • 一键将Word文档转成Vue组件mammoth的应用详解

    一键将Word文档转成Vue组件mammoth的应用详解

    这篇文章主要为大家介绍了一键将Word文档转成Vue组件mammoth的应用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • 详解Vue用cmd创建项目

    详解Vue用cmd创建项目

    在本篇内容里小编给大家整理了关于Vue用cmd创建项目的方法讲解,有兴趣的朋友们跟着学习下。
    2019-02-02
  • Vue 实用分页paging实例代码

    Vue 实用分页paging实例代码

    本篇文章主要介绍了Vue 实用分页paging实例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04

最新评论