Vue Composition API的快速上手指南

一、基础搭建

  1. 创建组件入口
    使用setup()函数替代传统选项式API,作为组件逻辑的主入口 

     可通过 <script setup> 语法糖实现更简洁的声明:

<script setup>import { ref } from 'vue'</script>

响应式数据定义

  • 基本类型用ref()

const count = ref(0) // 通过.value访问

对象类型用reactive()

const user = reactive({ name: 'Alice' })

需配合toRefs()解构保持响应性

二、功能实现

  1. 生命周期管理
    将传统钩子转换为前缀on的函数形式:

import { onMounted } from 'vue'onMounted(() => {  console.log('组件挂载完成')})

  1. 支持在同一setup中多次调用同一类型钩子

  2. 计算与监听

  3.   计算属性:

const doubleCount = computed(() => count.value * 2)

        副作用监听:

watch(count, (newVal) => {  console.log('count变化:', newVal)})

三、进阶配置

  1. CDN引入方案
    若通过CDN使用需:

    • 引入完整版vue.global.js

    • 启用ES Module支持:


<script type="module">  const { createApp, ref } = Vue</script>
    • 确保包含reactivity模块

  1. 代码组织优化

    • 按功能模块拆分逻辑:

// userLogic.jsexport function useUser() {  const user = ref(null)  const fetchUser = async () => {...}  return { user, fetchUser }}
    • 集成VueUse等工具库增强功能


四、最佳实践

  • 类型安全‌:结合TypeScript使用可获得完整类型推断支持

  • 渐进迁移‌:旧项目可在新功能中优先采用,逐步替代Options API

  • 渲染函数‌:需要直接控制DOM时可使用h()函数返回虚拟节点

适用场景‌:推荐在逻辑复杂的大型项目中使用,小型简单组件仍可采用Options API保持简洁性


标签:

相关文章

甘草露,甘草露,清凉的甘草露

我知道,那是在七月,骄阳似火,百叶窗紧闭的大卧室里一片昏暗。当他慢慢地、静静地咽气时,在那炎热的夏日午后令人窒息的宁静中,忽然街上传来清脆的铃声,一个响亮的声音划破闷人的溽暑,喊道:“清凉的甘草露!太...

后端懒加载示例(以分页加载数据为例)

场景描述‌假设有一个博客系统,每页显示10篇文章,用户滚动到底部时加载下一页的文章。‌前端请求代码(使用Fetch API)let page = 1; const&nb...

前端-网络问题

1. 什么是HTTP?它是如何工作的?答案:HTTP(Hypertext Transfer Protocol)是一种用于在Web上传输数据的协议。它使用客户端-服务器模型,客户端发送HTTP请求到服务...

Vue简版 教程

一、安装与项目创建‌CDN 引入(适合快速体验)‌通过 <script> 标签直接引入 Vue3 的 ES 模块构建版本:<div id="a...

JavaScript(ECMAScript)新特性

一、异步处理优化‌Promise.withResolvers‌支持直接创建包含resolve和reject控制的Promise对象,简化异步流程管理,适用于延迟加载、事件流控制等场景const&nbs...

Dart 语言

一、Dart 语言基础与开发环境1. Dart 语言概述Dart 是由 Google 开发的客户端优化编程语言,具备以下核心特性:‌跨平台支持‌:可编译为原生代码或 JavaScript,适用于移动、...