从这节课开始我们主要来学习VUE3的组合式API,之前我们学习使用的都是选项式API。
从VUE3版本开始,Vue 的组件可以按两种不同的风格书写:选项式 API
和 组合式 API
选项API是Vue 2中的主要API风格,它通过定义一个包含各种选项的对象来创建组件。这些选项包括data
、methods
、computed
等,使得组件的结构相对清晰,适用于小到中型的项目。选项所定义的属性都会暴露在函数内部的 this
上,它会指向当前的组件实例。
<template>
<button @click="increment">Count is: {{ count }}</button>
</template>
<script>
export default {
// data() 返回的属性将会成为响应式的状态
// 并且暴露在 `this` 上
data() {
return {
count: 0
}
},
// methods 是一些用来更改状态与触发更新的函数
// 它们可以在模板中作为事件处理器绑定
methods: {
increment() {
this.count++
}
},
// 生命周期钩子会在组件生命周期的各个不同阶段被调用
// 例如这个函数就会在组件挂载完成后被调用
mounted() {
console.log(`The initial count is ${this.count}.`)
}
}
</script>
Vue 3引入了组合式API,使得代码更可复用、可组合,并且更容易测试。相比于选项API,组合式API更加灵活,通过setup
函数来配置组件。
<template>
<button @click="increment">Count is: {{ count }}</button>
</template>
<script>
import { ref, onMounted} from 'vue'
export default {
// `setup` 是一个特殊的钩子,专门用于组合式 API。
setup(){
// 响应式状态
const count = ref(0)
// 用来修改状态、触发更新的函数
function increment() {
count.value++
}
// 生命周期钩子
onMounted(() => {
console.log(`The initial count is ${count.value}.`)
})
return{
count,
increment
}
}
}
</script>
可读性和结构:
setup
函数提供更灵活的结构,使得大型组件更加清晰。复用性和组合性:
类型推断和编辑器支持: