vue3
vue3
简介
创建vue3工程
基于vue-cli创建
使用webpack脚手架
基于vite创建
vite等价于webpack,前者构建速度更快,对ts、JSX、CSS等支持开箱即用,按需编译,不等待整个应用编译完成。
通过如下命令创建的vue框架的项目文件介绍:
1 | |
初始生成文件中:node_modules为执行npm install命令后生成的包的存放地。public里放有网页的图标favicon.ico。src里存放的是源文件,包含编写的.ts、.js和.vue等文件,env.d.ts中存放的是依赖关系,index.html是入口文件。
启动前端项目:找package.json中的scripts中值为vite的键xxx,通过npm run xxx来启动。vite.config.ts为整个工程的配置文件。
一个.vue文件需要写入三个标签:template(写结构,html)、script(写脚本代码,JS、TS)、style(样式,CSS)。vue3采用组合式API相较于vue2,将某个组件相关的数据、方法、计算属性等集成在同一个函数中,便于修改。
拉开序幕的setup
setup是vue3中一个新的配置项,值是一个函数。
vue3中可以使用多个根标签,例如:
1 | |
ref的修改或查看应该作用的对象是.value.ref对于对象型数据底层还是通过reactive来实现,即Proxy(Objet)的代理类型。
reactive定义对象类型数据:
用法类似ref。
只能用来定义对象类型的响应式数据。
需要注意的是,reactive()生成的只是代理对象,并需要通过.value来获取相应的值,只需要直接引用相应的属性即可。
refvsreactive
ref一定需要带有.value ,可以使用volar插件自动化,reactive定义的对象在方法中直接重新对象整体赋值,无论是否带有reactive,都不再是响应式数据,可以通过Object.assign()的api来实现响应式数据的再分配。
建议
- 若需要一个基本类型的响应式数据,使用
ref - 若需要一个响应式对象,且层级不深,两者均可
- 若层级较深,使用
reactive。
toRefs()
作用是将reactive定义的响应式对象数据的属性解构成响应式数据,例如:
1 | |

