Vue3学习之路:写写小Demo,体验Vue3
小提示:本文章适合已了解VUE2的同学~
本章分为两个部分来写,第一部分基础知识,第二部分写小demo
Demo: 小demo是官方的例子,是个日常管理的TODO 虽然功能简单,但是用到的vue知识范围几乎覆盖的Vue3很早之前就有了,以前一直在学习Vue2和牢固前端基础,没有学习到Vue3,现在开始进步啦,记录学习Vue3~
文章包含Vue3官方文档的内容
Vue3基础知识
组合式API(Composition API)
我们学习组合式API之前,先回顾一下选项式API。 选项式API,多个选项的对象来描述组件的逻辑,比如:在data里面写数据 ,在methods里面写方法,等等。选项所定义的属性都会暴露在函数内部的 this 上,它会指向当前的组件实例。
这种写法确实入手门槛低,易学习这个框架,当时新学习的时候也是特别容易上手,在对应的选项里面写对应的东西即可,特别舒服。
js
<script>
export default {
// data() 返回的属性将会成为响应式的状态
// 并且暴露在 `this` 上
data() {
return {
count: 0
}
},
// methods 是一些用来更改状态与触发更新的函数
// 它们可以在模板中作为事件处理器绑定
methods: {
increment() {
this.count++
}
},
// 生命周期钩子会在组件生命周期的各个不同阶段被调用
// 例如这个函数就会在组件挂载完成后被调用
mounted() {
console.log(`The initial count is ${this.count}.`)
}
}
</script>
<template>
<button @click="increment">Count is: {{ count }}</button>
</template>
但这种好日子不长,小项目问题不大,很舒服哒。但是你一旦用VUE2的选项式API来开发中型项目那就不舒服啦,当时写比小项目大一点,比中型项目小一点的点餐小程序的时候,写一个复杂一点的功能的时候,我不停的滑动滚动条,把我搞的很难受,功能的代码片段东一个西一个,严重违背了高内聚,低耦合的原则
组合式API和选项式API的对比图(左边的是组合式API 右边的是选项式API):

看图片就一目了然啦~ 现在我们介绍在Vue3重大改变之一的:组合式API
ps:在Vue3也可以使用选项式API
组合式API:组合式 API (Composition API) 是一系列 API 的集合,使我们可以使用函数而不是声明选项的方式书写 Vue 组件。简单的说就是我们需要什么API那就导入对应的API函数,来描述组件的逻辑。
Vue
<template>
<button @click="increment">Count is: {{ count }}</button>
</template>
<script>
import { ref } from 'vue' // 导入ref响应式API
setup(){
const countRef = ref(0) // 用来修改状态、触发更新的函数
function increment() { count.value++ }
return {
count:countRef,
increment
}
}
</script>
看代码就一目了然,我们在setup函数里面描述组件的逻辑,当我们需要把普通变量变成响应式变量则会导入ref函数API(把数据变成响应式的API 后面会介绍),然后用ref函数,它会返回给我们一个响应式的数据,因此我们的countRef变成响应式了。
然后在这里要注意的是,我们在setup函数里面的函数或者变量在模板使用则需要返回这些函数和变量,才能在模板上直接使用,否则是不能使用的。
Vue官方为了方便使用组合式API,提供了 `