最近想玩玩Vue3

如题,Vue3已经是beta版了,想玩玩Vue3,就对原来Vue2的项目进行了升级。参考了慕课网Dell Lee的课程内容和Vue3官方文档。

一、main.js中的变化

从技术上讲,Vue 2 没有“app”的概念,我们定义的应用只是通过 new Vue() 创建的根 Vue 实例。从同一个 Vue 构造函数创建的每个根实例共享相同的全局配置,因此在测试期间,全局配置很容易意外地污染其他测试用例。
——Vue3中文文档

这其实主要是创建Vue实例时发生了变化。现在使用一个新的全局API:createApp()来创建一个Vue实例。

import { createApp } from 'vue'const app = createApp({})

1.使用createApp()来创建一个Vue实例。
2.使用app.use来安装插件
3.可以链式调用

下面是使用vue-cli4创建的main.js中的代码片段:

createApp(App).use(router).use(store).use(VueAwesomeSwiper).mount('#app')

二、组合式 API

一套新的语法,对组件的属性内容不再向Vue2.X那样分开来写,而是整合到一起。取消了this的使用。
setup()方法:在组件初始化时被调用,替代了原来的created()生命周期钩子。
1.定义data:在setup()方法中直接定义:

  setup() {const data = {swiperList: [],iconList: [],recommendList: [],weekendList: [],lastCity: ''}}

但是要注意,直接这样定义的数据是没有响应式的!!!
要使数据拥有响应式,需要使用reactive()方法,再将对应的数据return出去,只有return 出去之后才能被模板使用。

import {reactive} from 'vue'setup() {const data = reactive({swiperList: [],iconList: [],recommendList: [],weekendList: [],lastCity: ''})return {data}}

reactive: 返回对象的响应式副本

2.使用computed属性
需要从Vue中导入一个computed()方法。在setup中调用该方法,传入一个函数,该函数返回产生computed属性的计算方法。

    const city = computed( () => {return store.state.city})

注意:如果要在模板中使用该计算属性,需要像data一样return出去。

3.定义方法methods
直接写成如下形式,在setup方法中定义

function aa () {console.log('methods')}

4.生命周期钩子

现在生命周期钩子需要导入,并且接收一个回调函数,当触发钩子时调用。

4.使用Vuex
在Vue3中使用Vuex的方式也发生了改变。
需要从Vuex中导入一个useStore方法,并在setup中调用。

const store = useStore();

打印出的store对象

Vue2升级到Vue3相关推荐

  1. vue2升级到 Vue3的异同(入门须知)

    vue2升级到Vue3的异同 构建项目不一样, 具体查看 构建项目 main.js 的不一样 vue2 中的mian.js 里面导入的是vue 实例, vue 3中的main.js 如下的结构: 注意 ...

  2. Vue2要不要升级到Vue3?(尤雨溪回复解读)

    作者:掘金干货君 https://juejin.cn/post/7117525259212816414 就在前两天,一篇反对Vue2升级到Vue3的文章在vue官方社区引起了热议.(原文链接:Vue ...

  3. 创建VUE项目,vue-cli2.0版本和3.0版本的区别,将vue2.0项目升级为vue3.0项目

    创建VUE项目,vue-cli2.0版本和3.0版本的区别,将vue2.0项目升级为vue3.0项目 使用vue-cli2.0版本创建vue项目 创建前的准备 开始创建 创建过程 项目正常创建 使用v ...

  4. 手摸手带你玩转Vue3——Vue2升级Vue3

    今年年初,尤大大公布了一个重磅消息,将Vue3作为Vue的默认版本. 这无疑不是对我们开发人员的内卷煽风点火! vue默认版本改动意味着,官方将会把Vue研发重心放到vue3上,vue2也开始走下坡路 ...

  5. 同一电脑上安装且使用vue2.0和vue3.0版本

    问题: 想要在自己电脑本地上创建使用vue2.0和vue3.0版本的项目,如何实现? 方法: 第一步: 卸载全局安装的vue版本.(注:自行百度搜索如何卸载全局vue2vue3脚手架) 第二步: 在自 ...

  6. 基于vue-element-admin升级的Vue3+TS+Element-Plus版本正式开源,有来开源组织又一精心力作

    新版本文档 [vue3-element-admin ]基于 Vue3 + Vite4 + TypeScript5+ Element-Plus 从0到1搭建企业级后台管理系统(前后端开源)_有来技术的博 ...

  7. 在vue2中使用vue3的核心功能(渐进式升级vue版本)

    一.前言 学了真香的vue3语法,但目前的vue2项目中短期内不会再升级了,空有屠龙之术无法施展?来试试以下的解决方案,让你在vue2项目中也能用上vue3的核心语法-组合式API. 二.选项式API ...

  8. 如何升级Vue的版本 vue2.9.6升级到vue3.0

    背景:电脑使用多年,一直使用vue 2.x版本,项目开发过程中由于一个模块涉及的集成模块过多,导致需要进行定义的变量越来越多,代码出现冗余,因此在同事的推动下,鉴于vue 3.x的优化,故对自己本来使 ...

  9. vue2升级vue3知识点

    echarts自适应大小 myChart.setOption(option)window.onresize = function () {myChart.resize()} setup在create之 ...

最新文章

  1. Java存储过程调用CallableStatement
  2. 京东数据驱动下的个性化推荐
  3. 跨站点脚本(XSS)
  4. Python Numpy 数组的初始化和基本操作
  5. 移通好闹钟微信小程序全套源码
  6. 学习笔记 - 002
  7. win7下文本文档不能直接修改后缀是为什么?怎么办?
  8. django pdf转html5,python – 在Django站点中将HTML转换为PDF
  9. urdf与xacro的使用方法 机械臂模型仿真示例
  10. android:layout_weight属性详解 (转)
  11. 浅谈《软件工程》常用的几种软件开发方法
  12. linux多线程 进程休眠,转载:Linux多线程之线程休眠
  13. 计算机硬盘改回基本磁盘,将动态磁盘更改回基本磁盘
  14. 一款超漂亮的简历生成器,金三银四的你一定用得上
  15. IDEA类注释模板设置
  16. 自制Anki选择题模板(支持桌面版/移动版)
  17. jar启动方式设置内存参数
  18. WIN10任务栏的喇叭点了没反应,但是声音是正常的,就是不能调节音量
  19. [从头读历史] 第289节 神之物语 忒修斯的故事
  20. Golang 在linux中新建用户

热门文章

  1. HDU-2571 命运
  2. 【财富管理转型】财富管理转型的基本内涵
  3. ios 7 完美越狱总结
  4. 本人写的一个ARP防火墙源代码奉献(2)
  5. 怎么修改artifact_《Artifact》卡牌描述与游戏UI文字修改教程
  6. linux下socket编程之远程备份服务器
  7. 升级xcode14 和 ios16后的踩一些坑,持续更新(2022.11.18 15.40)
  8. 每天记录学习的新知识 :WebView介绍以及基本使用和方法
  9. 邮政社招笔试题库_中国邮政招聘考试笔试都考什么内容和题型?最好具体一点...
  10. 【数据分析】Excel必备函数汇总