Vue3学习笔记(1)-初识Vue3
Vue3
初识介绍
1.Vue3
简介
- 2020年9月18日,
Vue.js
发布3.0版本,代号:One Piece(海贼王)
- 耗时2年多、2600+次提交、30+个RFC、600+次PR、99位贡献者
- github上的tags地址
2.Vue3
带来了什么
1.性能的提升
打包大小减少
41%
初次渲染快
55%
, 更新渲染快133%
内存减少
54%
等……
2.源码的升级
使用
Proxy
代替defineProperty
实现响应式重写
虚拟DOM
的实现和Tree-Shaking
……
3.拥抱TypeScript
Vue3
可以更好的支持TypeScript
4.新的特性
Composition API
(组合API)setup
配置ref
与reactive`watch
与watchEffect
provide
与inject
- ……
- 新的内置组件
Fragment
Teleport
Suspense
- 其他改变
- 新的生命周期钩子
data
选项应始终被声明为一个函数(Vue2
中可以被设置成一个对象或方法)- 移除
keyCode
支持作为v-on
的修饰符(即不能再使用类似@keyup.13
这种写法了!) - ……
一、创建Vue3.0工程
1.使用 vue-cli 创建
- 官方文档
## 查看@vue/cli版本,确保@vue/cli版本在4.5.0以上
vue --version
## 安装或者升级你的@vue/cli
npm install -g @vue/cli
## 创建
vue create vue_test
## 启动
cd vue_test
npm run serve
2.分析工程结构
main.js
(对比Vue2)// 这里不再是引入vue构造函数了,引入的是一个名为createApp的工厂函数(不再需要通过调用new实例来调用)
import { createApp } from 'vue'
// 引入所有组件的父组件app
import App from './App.vue'
// 创建应用实例对象-app(类似于Vue2中的vm,但是app比vm更"轻",圣上没有那么多方法和属性了)
// createApp(App).mount('#app')
// 完整写法
const app = createApp(App)
console.log(app);
// 挂载:mounte('组件id')
app.mount('#app')
// 卸载:unmounte('组件'id)
// setTimeout(()=>{//设置延时1s卸载
// app.unmount('#app')
// },1000)
// Vue2写法(Vue3中不再支持这种写法)
// const vm = new Vue({
// render:h => h(App)
// })
// vm.$mounte('#app')App.vue
<template>
<!-- Vue3新特性,模板结构中引用多个组件不再需要根标签(可有可无) -->
<img alt="Vue logo" src="./assets/logo.png">
<HelloWorld msg="Welcome to Your Vue.js App"/>
</template>
<script>
// 引入组件
import HelloWorld from './components/HelloWorld.vue'
export default {
name: 'App',
// 注册组件
components: {
HelloWorld
}
}
</script>
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0许可协议。转载请注明来自 肥林の仓库