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函数 的相关文章

  • vue3-vant4-vite-pinia-axios-less学习日记

    代码地址 GitHub vue3 vant4 vite pinia axios less 效果如图 1 首页为导航栏 2 绑定英雄页 3 注册页 4 英雄列表页 5 后面不截图了 没啥了 模块 1 vant4 按需引入组件样式文档 2 安装
  • vue3 + vite 在线预览docx, pdf, pptx(内外网)并实现移动端适配

    一 内网 1 docx 使用docx preview 安装插件 npm i docx preview S 引入依赖 docx import renderAsync from docx preview let docx import meta
  • vue 3.0新特性之reactive与ref

    vue 3 0新特性 参考 https www cnblogs com Highdoudou p 9993870 html https www cnblogs com ljx20180807 p 9987822 html 性能优化 观察者机
  • Property xxx was accessed during render but is not defined on instance

    vue3 x版本在结合element plus使用如果使用了表单元素以及v model指令会在控制台看到类似的警告 虽然不影响js运行 但是对于强迫症玩家难受的不行 下面我们来看一下这个问题是如何产生的 应该怎么解决 原因 vue3 x版本
  • vite 配置自动补全文件的后缀名

    vite 不建议自动补全 文件的后缀名的 const Home gt import views Home vue 文件是必须要加上 vue 的后缀名的 如果 想要像 webpack 一样的不用写 可以在vite config js中配置如下
  • Vue常用的修饰符有哪些?分别有什么应用场景?

    一 修饰符是什么 在程序世界里 修饰符是用于限定类型以及类型成员的声明的一种符号 在Vue中 修饰符处理了许多DOM事件的细节 让我们不再需要花大量的时间去处理这些烦恼的事情 而能有更多的精力专注于程序的逻辑处理 vue中修饰符分为以下五种
  • vue3+vite中使用path-to-regexp以及相关的报错问题

    前言 path to regexp 该方法的作用是把字符串转为正则表达式 一般我们使用动态匹配路由的时候会用到这个 1 介绍path to regexp 更多点我查看 pathToRegexp pathToRegexp foo bar 打印
  • vue3.0基础知识浅谈

    vue3 0 首先创建vue3 0 项目 相比于vue2的变化 1 模板中可以没有根标签 2 main js中变化 组合API 一 setup 1 作用 2 返回值 3 注意点 4 参数 二 Ref函数 三 reactive函数 四 Ref
  • Vue3 自定义指令

    在前端项目中 有很多需求是需要在多页面进行逻辑处理 通常我们所需要的功能可以通过DOM操作来实现 或者多处功能一致 我们就可以使用自定义指令 在vue2中的自定义指令指令注册的方法是 v focus js import vue from v
  • vue3 antd pro 框架动态路由

    此框架中路由权限使用了两种方法 主要介绍第二种方法 从路由表构建路由 前端对比后端权限字段过滤静态路由表 即 前端配置好全部的路由表 然后根据权限来与后端获取到的进行对比 最终展示对比后的数据 从后端获取路由表结构体 并构建前端路由 从后端
  • vue3-实战-04-管理后台表单校验-layout-菜单组件封装

    目录 1 自定义校验规则 2 layout组件静态页面搭建 3 logo组件封装 4 左侧菜单静态组件搭建 4 1 动态获取菜单数据 4 2 封装菜单动态展示组件 4 3 配置菜单名称 隐藏 图标属性 4 4 菜单刷新定位当前菜单 5 内容
  • vue3知识点:setup

    文章目录 二 常用 Composition API 1 拉开序幕的setup setup的两个注意点 本人其他相关文章链接 二 常用 Composition API 问题 啥叫 组合式API 答案 请看官方文档 https v3 cn vu
  • vue3.2 对el-table 树型结构数据的处理(干货)

    vue3 2 对el table 树型结构数据的处理 干货 将偏平数据转为树状结构的数据 封装了两种方法 将一维数组处理成带children的el tree树状数据结构 第一种方法 使用递归的方式处理偏平化数据 Method 使用递归的方式
  • 不习惯的 Vue3 起步六 の Echarts绘制下钻地图

    序 看过一些可视化大屏展示地图的例子 准备动手做做 既然要开始比制作 那么先把目标定好 做一个展示中国城市的下钻地图 使用 Vue3 Vite Typescript echarts 实现效果 准备工作 创建项目 因为准备使用Vue3 Vit
  • Vue3+TypeScript 完整项目上手教程

    转自 Vue3拥抱TypeScript的正确姿势 https juejin im post 6875713523968802829 一个完整的Vue3 Ts项目 支持 vue和 tsx写法 项目地址 https github com vin
  • electron-vue2 项目初始化

    不要使用网上或者 github 的模板初始化项目 直接上代码 安装 vuecli 脚手架 npm update vue cli 初始化 project name 项目 vue create project name 进入项目 cd proj
  • vue3中实现音频播放器APlayer

    前言 vue2的时候 分享了一个很好用的插件是vue aplayer 但是他是不支持vue3的 这里分享vue3使用APlayer来实现一个播放器的方法 实现效果 官方 git地址 点我 api地址 点我 实现步骤 1 安装 npm npm
  • vue3 通过自定义指令在table中滚动加载数据

    1 在utils文件中新建一个loadMore ts文件 import type Directive App from vue const debounce function func any delay any let timer any
  • Element-Puls中el-upload组件结合vue-draggable-plus实现上传支持拖拽排序(并保留el-upload原有样式、预览、删除)等功能

    展示效果 需求 需求想要一个可拖拽排序的图片列表 但是发现el upload虽然可以实现照片墙 但是没办法拖拽 实现思路 使用 vue draggable plus 拖拽插件 隐藏Upload原有的已上传文件列表 自定义上传后文件列表的样式
  • element中表格组件的row-class-name和class-name属性的使用以及无效处理

    1 这两个属性的使用 row class name用在el table标签上 class name用在el table column标签上 两个属性即可绑定类名也可绑定函数

随机推荐

  • 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 其的设计理念包括简洁 灵活和