VUE3的setup函数

2023-05-16

文章目录

目录

文章目录

前言

一、setup函数是什么?

二、使用步骤

三、vue3中文文档和面向vue3的组件库

总结



前言

Vue3是一个面向数据驱动的渐进式JavaScript框架,其的设计理念包括简洁、灵活和高效。相比Vue2,Vue3的架构设计有很大的不同,其中包括响应式系统的重写、虚拟DOM的改进以及Composition API 的引入等等。Vue3的性能得到了显著提升,同时也提供了更多的优化选项,例如Tree-Shaking和Teleport组件等。

同时,Vue3也更好地支持TypeScript,并且推出了一些新的API和全局指令,使得开发更加方便和灵活。Vue3的出现对企业级开发和前端开发者都具有一定的意义和价值。


一、setup函数是什么?

在Vue3中,setup函数是一个新特性,用于编写组件逻辑。它是Composition API 的一部分,用于解决Vue2中一些复杂组件难以维护和理解的问题。通过使用Vue3的setup函数,可以更好地组织代码,提高代码可读性和可维护性。

setup函数在组件实例化时执行,该函数会先于beforeCreate钩子函数执行。在setup函数中,我们可以使用诸如ref、reactive等API来声明响应式数据,并且还可以使用computed、watch等API定义计算属性和监听响应式数据的变化。

此外,在setup函数中还可以定义需要暴露给模板的数据或方法,这些数据和方法都可以直接在模板中使用。

需要注意的是,setup函数在组件实例化之前就已经运行,而且所有的响应式数据都是在创建组件之前被创建的,因此在setup函数中不能访问this。另外,props也是响应式数据,但在setup函数中无法直接访问props,需要通过参数传入。

二、使用步骤

<template>

       <div>
           <p>count: {{ count }}</p>
           <el-button type="danger" @click="increment">危险按钮</el-button>
           <el-button type="danger" @click="fetchData">测试axios</el-button>
       </div>



</template>

<script>
    // 在Vue3中,ref是一个响应式数据类型,用于声明一个普通类型的数据,
    // 并且可以在模板中以响应式的方式使用。
    // ref将基础类型的数据(如数字、字符串等)
    // 转换为一个带有.value属性的响应式对象,在更新数据时需要修改.value属性的值。
    import { ref } from 'vue';
    // 根据实际路径引入 Axios 实例
    import axios from '@/utils/axios';
    export default {
        name: "TestPage",
        /*vue2 使用data+created
        * vue3可以 使用setup等价于data+created
        * */
        setup() {
            // 声明响应式数据
            const count = ref(0);

            // 定义需要暴露给模板的方法
            const increment = () => {
                count.value++;
            };
            let fetchData=()=>{
                axios.get('/data')
                    .then(response => {
                        // 处理响应数据
                        console.log(response.data);
                    })
                    .catch(error => {
                        // 处理错误
                        console.error(error);
                    });
            };


            // 返回一个包含需要暴露给模板的数据或方法的对象
            return {
                count,
                increment,
                fetchData,
            };
        }

    }
</script>

<style scoped>

</style>

三、vue3中文文档和面向vue3的组件库

中文文档简介 | Vue.js

组件库面向 Vue3 的 Material 风格移动端组件库


总结

待补充

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VUE3的setup函数 的相关文章

随机推荐

  • UART协议入门

    UART 硬件连接关键词 xff1a 1 UART为串行异步协议2 TTL RS232 RS485是一种逻辑电平表示方式 3 帧格式 xff1a 1位空闲位 xff0c 5 9位的数据位 xff0c 1位校验位 xff0c 1 2位的停止位
  • git操作手册

    初始化一个Git仓库 xff0c 使用git init命令 添加文件到Git仓库 xff0c 分两步 xff1a 使用命令git add lt file gt xff0c 注意 xff0c 可反复多次使用 xff0c 添加多个文件 xff1
  • STM32 开发常见问题汇总

    STM32 开发常见问题汇总 一 xff0c STM32 Usart 串口异常四个错误检测标志 xff1a 十个具有标志位的中断源 xff1a 1 Usart中断事件2 Usart状态寄存器3 Usart问题解决3 1 什么是ORE中断 x
  • Gitee克隆别人的仓库的操作步骤

    1 指定克隆仓库路径 以及克隆到本地项目自定义名称 可以克隆提交者配置的url映射 但是不能克隆提交者的账号 git config git clone https gitee com lisi giteedemo giteedemo 2 配
  • c++八数码难题全家桶(A*算法、双向BFS、BFS、DFS)

    文章目录 系列文章目录前言 目录 系列文章目录 文章目录 前言 一 八数码难题是什么 xff1f 二 算法详解 1 首先利用逆序数来判断是否有解 xff08 奇偶性相同即可达 xff09 2 A 算法 3 双向BFS 4 BFS 5 DFS
  • Horspool (String Matching)

    Description of Horspool Assumation text string the string where we want to locate the pattern string n the length of the
  • C语言课程设计学生成绩管理系统二(含完整代码)

    亲给个打赏吧 1 系统功能 xff08 1 xff09 通过菜单的形式实现人机交互界面 xff08 2 xff09 实现录入学生基本信息和成绩功能 xff08 3 xff09 实现删除指定学生的基本信息和成绩功能 xff08 4 xff09
  • UNIX环境高级编程笔记

    UNIX环境编程 一 UNIX基础知识1 1 Linux 主要特性1 2 Linux 内核1 3 Linux 目录结构1 4 登录1 登录名2 shell 1 5 输入和输出1 文件描述符2 标准输入 标准输出 标准错误3 不带缓冲的IO4
  • 使用TensorFlow Serving进行模型的部署和客户端推理

    目的 xff1a 在一个server端使用TensorFlow框架对模型进行训练和保存模型文件后用TensorFlow Serving进行部署 xff0c 使得能在客户端上传输入数据后得到server端返回的结果 xff0c 实现远程调用的
  • spring boot自动打开浏览器和配置打开首页

    目录 前言 一 配置自动打开浏览器 在启动器同级目录下创建config文件夹来放启动配置类 下面是application properties的配置 二 配置默认首页 总结 前言 如何配置自动打开浏览器 和默认页面设置 一 配置自动打开浏览
  • 使用内网穿透工具natapp

    一 使用准备 1 进入他的官网注册一个账号 NATAPP 内网穿透 基于ngrok的国内高速内网映射工具 注意 这个账号还必须要提交实名认证 2 然后登陆进去 选择 购买隧道 gt 免费隧道 然后最重要的是配置一下免费隧道的协议 选择web
  • 在linux下安装docker

    文章目录 目录 文章目录 前言 一 docker 二 使用步骤 1 环境准备 2 安装 三 配置阿里云镜像加速 四 卸载 总结 前言 一 docker 镜像 xff08 image xff09 xff1a docker镜像就好比是一个模板
  • git分支管理开发

    1 master从来都只是最终合并的分支 xff1b 2 所有的其他分支都从master衍生 xff1b 3 在master分支直接修改 xff0c 有可能会造成所有分支的冲突 4 都是从master建立新分支 xff0c 修改测试通过后合
  • Docker的常用命令

    文章目录 目录 文章目录 前言 一 帮助命令 二 镜像命令 1 查看镜像 2 搜索镜像 3 下载镜像 4 删除镜像 三 容器命令 1 启动容器 2 查看容器 3 退出容器 4 删除容器 5 启动和停止容器 四 常用的其它命令 后台运行 查看
  • spring cloud gateway网关和链路监控

    文章目录 目录 文章目录 前言 一 网关 1 1 gateway介绍 1 2 如何使用gateway 1 3 网关优化 1 4自定义断言和过滤器 1 4 1 自定义断言 二 Sleuth 链路追踪 2 1 链路追踪介绍 2 2 Sleuth
  • sso单点登录

    文章目录 目录 文章目录 前言 一 sso结构实现 二 使用步骤 2 1 建一个spring cloud 项目 2 2 common下的core的配置 2 3 实现系统的业务微服务 2 4 sso模块的编写 总结 前言 单点登录 Singl
  • windows版 redis在同一局域网下互联

    项目场景 xff1a 同一局域网下各个主机互相连接同一个redis 问题描述 无法连接 原因分析 xff1a 没有放行对方的地址 解决方案 xff1a 修改配置文件 最重要的一步如下 然后把 redis windows conf的文件也照上
  • mysql数据库之存储过程

    文章目录 目录 文章目录 前言 一 存储引擎 1 1 InnoDB 1 2 MyISAM 二 存储过程 2 1 存储过程 2 1 1 创建存储过程 2 1 2 调用存储过程 2 1 3 查看存储过程 2 1 4 删除存储过程 2 2 语法
  • 秒杀的理解

    项目场景 xff1a 秒杀限时或者限量的处理一件商品 实现理解 xff1a 秒杀业务流程 如果使用java逻辑判断减库存的话 xff0c 会出现多个线程同时修改好库存 xff0c 然后存入相同的修改值 实际上是卖出了多个 但是数据库只扣了一
  • VUE3的setup函数

    文章目录 目录 文章目录 前言 一 setup函数是什么 xff1f 二 使用步骤 三 vue3中文文档和面向vue3的组件库 总结 前言 Vue3是一个面向数据驱动的渐进式JavaScript框架 xff0c 其的设计理念包括简洁 灵活和