vue2.6升级到2.7 笔记

633 阅读1分钟

先是按照官方文档进行升级操作。

项目采用vue全家桶、webpack、typeScript、compositionApi。

在升级后的项目中使用compositionApi语法,开始采用getCurrentInstance来获取store,store,router,在结构getCurrentInstance时,会报如下错误:

20230216164927.jpg

这是因为getCurrentInstance可能为null,一直想找方案解决这个问题,但一直没有找到好的方案。后面采用曲线救国,找方法来替换。

vue-router 3.6.4 可以使用useRouter:

import { useRouter } from 'vue-router/composables';

const $router = useRouter();

$router.push({ name: 'app' });

Vuex采用的直接导入来使用:

import store from '@/store';

store.dispatch('user/info');

对于element-ui的form表单验证:

import { Form } from 'element-ui';

import { getCurrentInstance } from 'vue';


const instance = getCurrentInstance();

(instance?.proxy.$refs.formRef as Form).validate((valid) => {

    // code….

})