选项式和组合式
Vue3 提供了两种编码方式:选项式 API 和 组合式 API
- 选项式 API (Options API):类似 Vue2 ,以“组件实例”的概念为中心(
this
)使用选项配置来组织代码 - 组合式 API (Composition API):直接在函数作用域内定义响应式状态变量,更灵活更强大
setup
是一个专门用于组合式 API 的特殊钩子函数
<script>
import { reactive } from 'vue'
export default {
setup() {
const state = reactive({ count: 0 })
return {
state // 暴露 state 到模板中
}
}
}
</script>
简洁写法,在 script 标签上加 setup:
<script setup>
import { reactive } from 'vue'
const state = reactive({ count: 0 })
</script>
推荐采用:组合式 API + 单文件组件 + <script setup>
创建实例
createApp()
来创建实例:
import { createApp } from 'vue'
import App from './App.vue' // 从一个单文件组件中导入根组件
const app = createApp(App)
此时创建了一个 Vue 实例,还没有挂载到 DOM,应用实例必须在调用了 .mount() 方法后才会渲染出来:
<div id="app"></div>
app.mount('#app')
生命周期
钩子列表: