选项式和组合式

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')

生命周期

700

钩子列表:

组合式 API:生命周期钩子 | Vue.js