Options API
2026-08-26
Options API(选项式 API)
Options API 是 Vue2 的默认写法,Vue3 也完全兼容。
核心思想:把代码按照功能选项拆开,分别写到
data、methods、computed、watch、mounted这些配置项里面。 你告诉 Vue:这里放数据、这里放方法、这里放监听、这里放生命周期。
完整示例(Vue2/Vue3 都能跑)
<template>
<div>
<p>{{ count }}</p>
<button @click="add">+1</button>
</div>
</template>
<script>
// Options API 选项式API
export default {
// 选项1:组件名字
name: "Demo",
// 选项2:定义响应式数据
data() {
return {
count: 0
}
},
// 选项3:存放所有事件方法
methods: {
add() {
this.count++
}
},
// 选项4:计算属性
computed: {
doubleCount() {
return this.count * 2
}
},
// 选项5:侦听器
watch: {
count(newVal) {
console.log("count变了", newVal)
}
},
// 选项6:生命周期钩子
mounted() {
console.log("组件挂载完成")
}
}
</script>
特点
- 按类型分组:数据放
data,方法放methods,计算属性放computed。 同一个业务逻辑的代码会被拆分到不同地方。 比如:和 count 相关:变量在 data,add 方法在 methods,监听在 watch。代码分散。 - 组件内部全部依靠
this访问数据、方法:this.count、this.add() - Vue2 只能用这套;Vue3 可以继续写这套,也可以用组合式 API。