vue3-setup基本使用(非响应式数据)

OptionsAPI与COmpositionAPI
  1. 选项式APi

    Vue2的AP设计是Options(配置、选项式)风格的

    Options类型的 API,数据、方法、计算属性等,是分散在:datamethodscomputed中的,若想新增或者修改一个需求,就需要分别修改:datamethodscomputed,不便于维护和复用

  2. 组合式API

    Vue3的API设计是Composition(组合式)风格的

    可以用函数的方式,更加优雅的组织代码,让相关功能的代码更加有序的组织在一起

setup
  • setup 函数是在组件实例被创建之前执行的,它主要用于初始化组件的响应式数据、定义组件的方法以及引入外部资源等操作,是组件逻辑的核心部分。
  • 与 Vue 2 中通过 datacomputedmethods 等选项来分别定义组件的不同特性不同,在 setup 函数中,可以将这些相关的操作更加集中地进行处理
基本使用(非响应式)
  • setup函数返回的对象中的内容,可直接在模板中使用。
  • setup中访问thisundefined
  • setup函数会在beforeCreate之前调用,它是“领先”所有钩子执行的。
<script lang="ts">
export default {name:"UserInfo",// 定义setup-> 此时的数据不是响应式的,初始展示,后续修改不会响应式修改setup(){// 定义属性,vue2中data中的数据let age:number = 18let name:string = "v3"// 定义方法,回调、计算属性等等vue2中的函数配置项function getInfo():number{// 此处不能使用this,this 是undefined,都在setup函数作用域中,直接调用return age}// 将属性、方法暴露出去return {name,age,getInfo}}}
</script>
setup的返回值
// 若返回一个对象:则对象中的:属性、方法等,在模板中均可以直接使用    
return {name,age,getInfo}
// 返回一个函数:渲染自定义内容,页面渲染hello world
return () => = "hello world"
组合式api和选项式api组合使用
  • vue2选项式api和vue3组合式api可以同时存在
  • Vue2 的配置(datamethos等等)中可以访问到 setup中的属性、方法。
  • 但在setup中不能访问到Vue2的配置
  • 如果与两种写法冲突,则setup优先
<script lang="ts">
export default {name:"UserInfo",// vue3语法setup(){// 定义属性,vue2中data中的数据let age:number = 18let name:string = "v3"return {name,age}},// vue2语法methods:{getInfo():string{return this.name}}}
</script>
setup语法糖

在 Vue 3 中,<script setup>是一种 “语法糖”。它是一种更简洁的编写组件setup函数的方式,能够让组件的逻辑代码更加清晰、易读,可以让我们把setup独立出去

与普通的setup函数写法相比,<script setup>在语法上更加简洁,并且提供了一些额外的便利特性

<!-- 第一个script标签,不使用setup属性  设置组件名字-->
<!-- 如果设置name,则组件名字默认是该文件名字-->
<script lang="ts">
export default {name: "UserInfo"
}</script>
<!-- 第一个script标签,使用setup属性,用于编写代码 setup()函数中的代码-->
<script setup lang="ts">// 等同于 在setup()函数中定义该变量 然后返回
let age: number = 18
let name: string = "v"//等同于在setup()函数中编写该方法 然后返回
function getName(): void {alert(name)
}</script>
<template>
{{ age}}{{name}}<button @click="getName">按钮</button>
</template>

上面示例需要写两个script标签,可以使用vite-plugin-vue-setup-extend插件,只写一个script标签

  1. 安装插件

     # -D 开发依赖npm i vite-plugin-vue-setup-extend -D           
    
  2. 使用插件

    // 在vite.config.ts文件
    import {fileURLToPath, URL} from 'node:url'import {defineConfig} from 'vite'
    import vue from '@vitejs/plugin-vue'
    import vueDevTools from 'vite-plugin-vue-devtools'// 引入该插件
    import VueSetUpExtend from 'vite-plugin-vue-setup-extend'// https://vite.dev/config/
    export default defineConfig({plugins: [vue(),vueDevTools(),// 使用该插件VueSetUpExtend()],resolve: {alias: {'@': fileURLToPath(new URL('./src', import.meta.url))},},
    })
  3. 编写script标签

    // name指定组件的名字
    <script setup lang="ts" name="UserInfo">// 编写setup()函数中的代码
    </script>
    

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/62353.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

通信导航一体化信号设计及接收

研究背景和意义 我国于 2020 年建设完成了第三代北斗卫星导航系统&#xff0c;其在调制方式、电 文速率、短报文功能等都较其他导航系统有较大创新。各大导航系统间抢占轨道和 频率资源以及应用市场&#xff0c;出现了频率资源紧张、导航信号间相互干扰等问题。近十 年来&#…

C语言实例_14之求俩数的最大公约数和最小公倍数

1.最大公约数和最小公倍数概述 最大公约数&#xff08;Greatest Common Divisor&#xff0c;简称GCD&#xff09;&#xff1a; 也称为最大公因数&#xff0c;是指两个或多个整数共有约数中最大的一个。例如&#xff0c;对于整数12和18&#xff0c;它们的约数分别为&#xff1…

Mybatis:Mybatis快速入门

Mybatis的官方文档是真的非常好&#xff01;非常好&#xff01; 点一下我呗&#xff1a;Mybatis官方文档 MyBatis 是一款优秀的持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所有的 JDBC 代码以及设置参数和获取结果集的工作。MyBatis 可…

JAVA:Spring Boot 3 实现 Gzip 压缩优化的技术指南

1、简述 随着 Web 应用的用户量和数据量增加&#xff0c;网络带宽和页面加载速度逐渐成为瓶颈。为了减少数据传输量&#xff0c;提高用户体验&#xff0c;我们可以使用 Gzip 压缩 HTTP 响应。本文将介绍如何在 Spring Boot 3 中实现 Gzip 压缩优化。 2、配置 Spring Boot 3 对…

Mybatis集成篇(一)

Spring 框架集成Mybatis 目前主流Spring框架体系中&#xff0c;可以集成很多第三方框架&#xff0c;方便开发者利用Spring框架机制使用第三方框架的功能。就例如本篇Spring集成Mybatis 简单集成案例&#xff1a; Config配置&#xff1a; Configuration MapperScan(basePack…

路面交通工具和个数识别,支持YOLO,COCO,VOC三种格式,带标注可识别自行车,摩的,公共汽车,装载机,面包车,卡车,轿车等

预处理 自动定向&#xff1a; 已应用 调整大小&#xff1a; 拉伸至 640x640 增强 每个训练示例的输出&#xff1a; 3 翻转&#xff1a; 水平 自行车 公交车

Java 线程中的分时模型和抢占模型

Java 线程中的分时模型和抢占模型 线程的调度机制决定了多个线程在 CPU 上的执行方式&#xff0c;其中主要有两种常见的模型&#xff1a;分时模型和抢占模型。这两种模型的核心区别在于线程的执行时间分配和切换方式。 1. 分时模型&#xff08;Time-Sharing Model&#xff09;…

长时间无事可做是个危险信号

小马加入的是技术开发部&#xff0c;专注于Java开发。团队里有一位姓隋的女同事&#xff0c;是唯一的web前端工程师&#xff0c;负责页面开发工作&#xff0c;比小马早两个月入职。公司的项目多以定制化OA系统为主&#xff0c;后端任务繁重&#xff0c;前端工作相对较少。在这样…

ffmpeg 预设的值 加速

centos 安装ffmpeg 编译安装 官网获取最新的linux ffmpeg 代码 https://ffmpeg.org//releases/ mkdir -p /data/app/ffmpeg cd /data/app/ffmpeg wget http://www.ffmpeg.org/releases/ffmpeg-7.1.tar.gz tar -zxvf ffmpeg-7.1.tar.gz#安装所需的编译环境 yum install -y \…

在Java中使用Apache POI导入导出Excel(二)

本文将继续介绍POI的使用&#xff0c;上接在Java中使用Apache POI导入导出Excel&#xff08;一&#xff09; 使用Apache POI组件操作Excel&#xff08;二&#xff09; 14、读取和重写工作簿 try (InputStream inp new FileInputStream("workbook.xls")) { //Inpu…

LABVIEW Modbus 串口

VISA写入&#xff1a; 写入缓冲区改为“十六进制显示”&#xff0c;并输入数据。 数据缓冲区显示&#xff1a;使用“十六进制”显示。

第四节:jsp内的request和response对象

Jsp内置对象 Requset,当客户端请求一个jsp页面的时候&#xff0c;jsp页面所在的服务器端将客户端发出的所有请求信息封装在内置对象request中&#xff0c;因此用该对象可以获得客户端提交的信息 方法&#xff1a; Void setAttribute(String key,Object obj)设置属性的属性值…

Verilog使用liberty文件中cell单元的demo

Liberty&#xff08;.lib&#xff09;文件是用来描述标准单元库中逻辑单元&#xff08;如门电路、触发器等&#xff09;的时序和功耗特性的&#xff0c;不是用来直接定义Verilog中的元件。在Verilog设计中&#xff0c;我们通常通过实例化模块&#xff08;module&#xff09;来创…

【软考速通笔记】系统架构设计师⑧——系统质量属性与架构评估

文章目录 一、前言二、软件系统质量属性2.1 开发期质量属性2.2 运行期质量属性 三、质量属性场景描述四、系统架构评估方法4.1 方法分类4.2 软件架构分析方法4.3 架构权衡分析法4.4 成本效益分析法 一、前言 笔记目录大纲请查阅&#xff1a;【软考速通笔记】系统架构设计师——…

如何寻找适合的HTTP代理IP资源?

一、怎么找代理IP资源&#xff1f; 在选择代理IP资源的时候&#xff0c;很多小伙伴往往将可用率作为首要的参考指标。事实上&#xff0c;市面上的住宅IP或拨号VPS代理IP资源&#xff0c;其可用率普遍在95%以上&#xff0c;因此IP可用率并不是唯一的评判标准 其实更应该关注的…

FCBP 认证考试要点摘要

理论知识 数据处理与分析&#xff1a;包括数据的收集、清洗、转换、存储等基础操作&#xff0c;以及数据分析方法&#xff0c;如描述性统计分析、相关性分析、数据挖掘算法等的理解和应用 。数据可视化&#xff1a;涉及图表类型的选择与应用&#xff0c;如柱状图、折线图、饼图…

初识C++:指针与引用的异同,inline关键字

大家好&#xff0c;我是小卡皮巴拉 文章目录 目录 一.指针和引用的关系 1.1 概念 1.2 相似点 1.3 不同点 二.inline关键字 2.1 概念 2.2 工作原理 2.3 使用场景 2.4 注意事项 三.nullptr 3.1 引入背景 3.2 语义和类型 3.3 使用场景 兄弟们共勉 &#xff01;&…

【软考速通笔记】系统架构设计师⑤——软件工程基础知识

文章目录 一、前言二、基础知识点2.1 软件危机2.2 软件生命周期 三、软件过程模型&#xff08;论文&#xff09;3.1 瀑布模型3.2 原型模型3.3 螺旋模型3.4 敏捷模型3.5 软件统一过程模型3.6 软件成熟度模型3.7 软件成熟度模型集成 四、需求工程五、软件测试5.1 根据程序执行状态…

DICOM医学影像应用篇——伪彩色映射 在DICOM医学影像中的应用详解

目录 引言 伪彩色映射的概念 基本原理 查找表&#xff08;Look-Up Table, LUT&#xff09; 步骤 示例映射方案 实现伪彩色映射的C代码 代码详解 伪彩色处理效果展示 总结 扩展知识 LUT 的基本概念 LUT 在伪彩色映射中的应用 示例 引言 在医学影像处理中&#xff0c…

韦东山stm32hal库--定时器喂狗模型按键消抖原理+实操详细步骤

一.定时器按键消抖的原理: 按键消抖的原因: 当我们按下按键的后, 端口从高电平变成低电平, 理想的情况是, 按下, 只发生一次中断, 中断程序只记录一个数据. 但是我们使用的是金属弹片, 实际的情况就是如上图所示, 可能会发生多次中断,难道我们要记录3/4次数据吗? 答:按键按下…