Vue API 开发风格
Vue API 开发风格

-
2 种维度,可产生 4 种开发风格
-
API 维度:选项式/组合式 ,一位刚学习 vue 的小白,目前还没有搞明白这两种 API 的区别
-
选项式:Vue2 传统原生写法,Vue3 完全兼容。
- 把代码按功能类型拆分到 data、methods、computed、mounted 这些选项里,结构直观、上手门槛低,适合新手和简单小型项目。
-
组合式:Vue3 主推的 API 形式,基于 setup 语法。
- 按业务逻辑聚合代码,逻辑复用、大型项目维护性更强,适合复杂中大型项目。
-
-
文件形式维度(即代码书写形式):HTML(即.html 文件,非单文件组件)/单文件组件(Single-File Component,即 .vue 文件)
1. 选项式 API (Options API)
-
使用选项式 API,我们可以用包含多个选项的对象来描述组件的逻辑,例如 data、methods 和 mounted。
-
选项所定义的属性都会暴露在函数内部的 this 上,它会指向当前的组件实例。
<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>
2. 组合式 API (Composition API)
-
通过组合式 API,我们可以使用导入的 API 函数来描述组件逻辑。
-
在单文件组件(即 .vue 文件)中,组合式 API 通常会与 "<script setup>" 搭配使用。
-
这个 setup attribute 是一个标识,告诉 Vue 需要在编译时进行一些处理,让我们可以更简洁地使用组合式 API。
-
比如,"<script setup>" 中的导入和顶层变量/函数都能够在模板中直接使用。
-
下面是使用了组合式 API 与 <script setup> 改造后和上面的模板完全一样的组件:
<script setup>
import { ref, onMounted } from 'vue'
// 响应式状态
const count = ref(0)
// 用来修改状态、触发更新的函数
function increment() {
count.value++
}
// 生命周期钩子
onMounted(() => {
console.log(`The initial count is ${count.value}.`)
})
</script>
<template>
<button @click="increment">Count is: {{ count }}</button>
</template>
浙公网安备 33010602011771号