首页 > 其他分享 >探索 Vue 的 API 风格:选项式 API 与组合式 API 全解析

探索 Vue 的 API 风格:选项式 API 与组合式 API 全解析

时间:2024-12-05 23:32:57浏览次数:6  
标签:组合式 Vue vue REF API 声明

目录

探索 Vue 的 API 风格:选项式 API 与组合式 API 全解析

一、Vue API 风格概述

(一)选项式 API

(二)组合式 API

二、组合式 API 详细解析

(一)使用前提

(二)声明响应式变量

(三)声明函数

(四)声明钩子函数

(五)将数据绑定到 HTML 元素

(六)处理事件绑定

(七)易错点提醒

三、组合式 API 示例演示

(一)创建示例文件

(二)在script中使用组合式 API

(三)在template中绑定数据和事件

(四)在app.vue中导入并使用API.vue组件


在 Vue 项目开发中,API 风格的选择对代码的结构和可维护性有着重要影响。Vue 主要提供了两种 API 风格:选项式 API 和组合式 API。本文将详细介绍这两种风格,并重点演示组合式 API 的使用,帮助大家更好地理解和应用于实际项目中。

一、Vue API 风格概述

(一)选项式 API

这是我们之前常用的格式,使用包含多个选项的对象来描述组件逻辑。例如:

export default {
  data() {
    return {
      // 声明响应式数据
    };
  },
  methods: {
    // 声明方法
  },
  mounted() {
    // 声明构造函数,在组件挂载时执行
  }
}

(二)组合式 API

相对更灵活,推荐在实际开发中使用。例如在大事件项目开发中就会采用此风格。

二、组合式 API 详细解析

(一)使用前提

script标签上添加setup标识,告诉 Vue 需要进行特殊处理,以简洁地使用组合式 API。

(二)声明响应式变量

使用REF函数声明响应式变量,需先导入REF

  1. 导入REF

import { REF } from 'vue';

  1. 声明变量:

const count = REF(0);

(三)声明函数

直接编写函数,无需借助其他特殊语法。

function increment() {
  // 函数逻辑
}

(四)声明钩子函数

使用 Vue 提供的unmounted等函数来完成,需先导入。

  1. 导入unmounted

import { REF, onMounted } from 'vue';

  1. 使用unmounted

onMounted(() => {
  console.log('Vue已经挂载完毕');
});

(五)将数据绑定到 HTML 元素

  1. template中声明 HTML 元素,并使用差值表达式绑定数据。例如:

<template>
  <button>{{ count }}</button>
</template>

(六)处理事件绑定

使用v-on指令(简写为@)绑定函数,如@click="increment"

(七)易错点提醒

在组合式 API 中,务必将数据定义为响应式数据,即使用REF函数包裹。否则可能导致数据更新不生效。

三、组合式 API 示例演示

(一)创建示例文件

  1. 新建一个.vue文件(如API.vue),包含scripttemplatestyle(若用到)部分。

(二)在script中使用组合式 API

  1. 添加setup标识:

<script setup>

  1. 声明响应式数据count

import { REF } from 'vue';
const count = REF(0);

  1. 声明函数increment用于数据自增:

function increment() {
  count.value++;
}

  1. 声明unmounted钩子函数:

import { REF, onMounted } from 'vue';
onMounted(() => {
  console.log('Vue已经挂载完毕');
});

(三)在template中绑定数据和事件

  1. 绑定数据:

<template>
  <button>{{ count }}</button>
</template>

  1. 绑定事件:

<template>
  <button @click="increment">{{ count }}</button>
</template>

(四)在app.vue中导入并使用API.vue组件

  1. 导入API.vue

import API from './API.vue';

  1. template中声明API组件标签:

<template>
  <API></API>
</template>

通过以上步骤,我们完整地演示了 Vue 组合式 API 的使用流程,包括从创建文件、声明数据和函数、处理事件绑定到在其他组件中导入使用。希望本文能帮助大家更好地掌握 Vue 的 API 风格,在实际项目开发中灵活运用组合式 API。

标签:组合式,Vue,vue,REF,API,声明
From: https://blog.csdn.net/m0_57836225/article/details/144172725

相关文章

  • 基于SpringBoot + Vue的零食批发商仓库管理系统
    文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言......
  • 基于SpringBoot + Vue的株洲崔氏服装有限公司服装生产管理信息系统设计与实现
    文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言......
  • 基于SpringBoot + Vue的旅游门票信息系统设计与实现
    文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言......
  • vue基础之11:列表排序
    欢迎来到“雪碧聊技术”CSDN博客!在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将不断探索Java的深邃世界,分享最新的技术动态、实战经验以及项目......
  • Java流式编程(Stream API部分)
    一、流式编程在Java流式编程中,流(Stream)是一个抽象的概念,用于表示数据的序列。流提供了一种高级迭代的机制,允许你以声明式方式处理数据集合。1.1.流式编程概述流是一个元素序列,这些元素可以是集合中的元素,也可以是来自于数组、I/O通道、生成器函数等。Stream流的作用是结......
  • fastapi初见
    最近想学习一类pythonweb开发框架,在前辈的推荐下,开始对fastapi进行学习。发现fastapi超好的官方指导文档,现记录自己的学习过程,希望自己能在学习中能有所收获和成长官方文档地址:https://fastapi.tiangolo.com/zh/特点根据官方文档的介绍,fastapi具备:高性能,易于学习,高效编码,生......
  • 微信小程序常用 API 功能详解
    微信小程序提供了丰富的API,帮助开发者实现各种功能。本文将详细介绍一些常用的API,包括获取网络类型、下载文件到本地、预览文件、扫码、获取头像、获取用户信息以及判断API是否可用。1.获取网络类型通过wx.getNetworkTypeAPI,开发者可以获取当前设备的网络类型,如Wi......
  • vue项目中使用icon字体图标
    1、安装vite-plugin-svg-icons命令如下,-D表示该依赖添加在package.json里面的devDependencies。devDependencies下的依赖包,只是我们在本地或开发坏境下运行代码所依赖的,若发到线上,其实就不需要devDependencies下的所有依赖包;(比如各种loader,babel全家桶及各种webpack的插件等)......
  • PDFProfile.vue代码存档
    xx教学模式下生物课程某素养能力的提升探究<template><v-container><v-row><v-colcols="12"><divref="pdfViewerContainer"class="pdf-viewer-container"></div></v-col>......
  • Vue学习-watch函数的用法
    1.基本使用--侦听单个元素1.导入watch函数2.执行watch函数以及传入需要侦听的响应式数据(ref对象)和回调函数举个例子:代码示例:<scriptsetup>//导入watch函数import{ref,watch}from'vue'constcount=ref(0)constaddcount=()=>{count.value++}//调用watch......