其它篇章:
1.【Vue3】01-创建Vue3工程
2.【Vue3】02-Vue3工程目录分析
3.【Vue3】03-编写app组件——src
4.【Vue3】04-编写vue实现一个简单效果
5.【Vue3】05-Options API和Composition API的区别
6.【Vue3】06-利用setup编写vue(1)
7.【Vue3】07-利用setup编写vue(2)-setup的语法糖
合集篇:
1.【Vue3】创建并运行一个简易的Vue3项目
2.【Vue3】编写vue实现一个简单效果,并使用setup糖简化代码

【Vue3】07-利用setup编写vue(2)-setup的语法糖

    • setup
      • setup的语法糖
        • 1. 理解概念
          • 概念
          • 分析
          • 优点
        • 2. 实操验证
          • 步骤一:环境准备
          • 步骤二:数据的写法
          • 步骤三:添加name
          • 步骤四:添加依赖(可选)
          • 步骤五:验证

setup

setup的语法糖

1. 理解概念
概念
  • Vue3 引入了新的 setup 语法糖,使得组件的编写更加简洁和高效。
  • setup 函数是 Vue3 中的一个新特性,用于替代 Vue2 中的 data、computed、watch 等选项,是一种新的组件选项。
分析
  • 以下是直接写setup函数的方法,写在export里:

    <script lang="ts">export default{name:"person",setup(){let name = 'zhangsan';let age = 20;let birth = '2025.1.1';function show(){alert(birth)}return {name,age,show}}}
    </script>
    
  • 思考:看看这里面想写的东西有哪些?

    • 数据name、age、birth
    • 方法show()
  • 思考:再看看,有哪些东西是为了格式正确而不得不写的?

    • 格式:要声明这是setup(){}
    • 返回return
  • 思考:怎样可以使代码更加简洁,更加易读?

    • 使用setup语法糖,<script setup></script>,新写个标签,分离出来,不用return。
优点
  1. 简化 代码结构
  2. 更好的 组件 封装。
  3. 引入 响应式 功能。
  4. 更好的 类型推断
  5. 性能 优化。
2. 实操验证
步骤一:环境准备

以以下代码为例,这是通过在export里写setup函数来实现功能的:

<template><div class="person"><h1>姓名:{{name}}</h1></div>
</template><script lang="ts">export default{name:"person",setup(){let name = 'zhangsan';return {name}}}
</script>
<style>.person {background-color: rgb(255, 140, 0);box-shadow: 0 0 10px;border-radius: 20px;padding: 20px;}
</style>
  • 思考:按照之前的方法,在export里写setup函数,是以这样的方法实现的。而要按照setup语法糖的方式实现,该如何操作呢?
  • 接下来看步骤二。
步骤二:数据的写法
  1. 将前面代码里的setup删掉,在script标签外再新写一个标签,如下:

    <script setup>
    //后面在这写内容
    </script>
    
  2. <script setup>里添加数据:

    <script setup>let name = 'zhangsan';
    </script>
    

    这些内容相当于之前的:

    setup(){let name = 'zhangsan'return {name}
    }
    
  3. 可以发现,不用写return了,不用添加一个功能或数据就要去return里再加了。

步骤三:添加name

前面的<script lang="ts">标签可以删掉了,在<script setup>后面加name,即:

<script setup name="person">let name = 'zhangsan'
</script>
步骤四:添加依赖(可选)
  • 思考:前面添加name的操作,浏览器里查看的组件名称是vue的文件名,如果想要name和文件名不一样,该怎么做?
  • 添加一个依赖:
    1. 在终端输入npm i vite-plugin-vue-setup-extend -D
      在这里插入图片描述

    2. vite.config.ts添加依赖,import ViteSetupExtend from 'vite-plugin-vue-devtools'(其中ViteSetupExtend可自定义),在plugins中添加ViteSetupExtend(),的内容如下:

      import { fileURLToPath, URL } from 'node:url'import { defineConfig } from 'vite'
      import vue from '@vitejs/plugin-vue'
      import vueDevTools from 'vite-plugin-vue-devtools'
      import ViteSetupExtend from 'vite-plugin-vue-devtools' //在这添加// https://vite.dev/config/
      export default defineConfig({plugins: [vue(),vueDevTools(),ViteSetupExtend(), //在这添加],resolve: {alias: {'@': fileURLToPath(new URL('./src', import.meta.url))},},
      })
      
    3. 添加依赖后,<script setup name="person">中name的内容,就可以在浏览器中查看组件时看到了。

步骤五:验证

终端输入npm run dev启动服务器,浏览器访问,得到以下界面:
在这里插入图片描述

其它篇章:
1.【Vue3】01-创建Vue3工程
2.【Vue3】02-Vue3工程目录分析
3.【Vue3】03-编写app组件——src
4.【Vue3】04-编写vue实现一个简单效果
5.【Vue3】05-Options API和Composition API的区别
6.【Vue3】06-利用setup编写vue(1)
7.【Vue3】07-利用setup编写vue(2)-setup的语法糖
合集篇:
1.【Vue3】创建并运行一个简易的Vue3项目
2.【Vue3】编写vue实现一个简单效果,并使用setup糖简化代码

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

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

相关文章

Firefox自定义备忘

1.设置firefox右键点击标签直接关闭&#xff0c;由于目前没有插件能实现这个功能&#xff0c;只能手动设置了&#xff08;目前已知支持142和之前的版本&#xff09; firefox117右键关闭macWin 117版本应该可以了&#xff0c;大家可试下&#xff0c;配置方法参考之前的帖子&…

跨屏互联KuapingCMS建站系统发布更新 增加数据看板

跨屏互联KuapingCMS建站系统发布更新&#xff0c;增加了文章统计、产品统计、软文统计、流量统计、pv统计、ip统计、os访问者设备统计等等&#xff0c;整个体验会更好&#xff0c;数据显示更加直观&#xff0c;可以清晰看到最近的网站数据&#xff0c;特别是对于老板&#xff0…

WebSocket连接状态监控与自动重连实现

WebSocket连接状态监控与自动重连实现 下面我将实现一个具有连接状态监控和自动重连功能的WebSocket聊天室界面。 设计思路 创建直观的连接状态指示器实现自动重连机制&#xff0c;包括&#xff1a; 指数退避策略&#xff08;重连间隔逐渐增加&#xff09;最大重连次数限制手动…

【Vue2手录05】响应式原理与双向绑定 v-model

一、Vue2响应式原理&#xff08;底层基础&#xff09; Vue2的“响应式”核心是数据变化自动触发视图更新&#xff0c;其实现依赖Object.defineProperty API&#xff0c;但受JavaScript语言机制限制&#xff0c;存在“数组/对象修改盲区”&#xff0c;这是理解后续内容的关键。 …

探索大语言模型(LLM):Ollama快速安装部署及使用(含Linux环境下离线安装)

前言 Ollama 是一个开源的本地化大模型运行平台&#xff0c;支持用户直接在个人计算机上部署、管理和交互大型语言模型&#xff08;LLMs&#xff09;&#xff0c;无需依赖云端服务。而且其混合推理的特性也使得CPU和GPU的算力能够充分被使用&#xff0c;能够在同等配置下跑更大…

渗透测试信息收集详解

我们来详细解析一下渗透测试中信息收集&#xff08;Information Gathering&#xff09;的完整内容、步骤及工具方法。信息收集是整个渗透测试的基石&#xff0c;其深度和广度直接决定了后续测试的成功率&#xff0c;因此有“渗透测试成功与否&#xff0c;90%取决于信息收集”的…

Kafka面试精讲 Day 16:生产者性能优化策略

【Kafka面试精讲 Day 16】生产者性能优化策略 在“Kafka面试精讲”系列的第16天&#xff0c;我们将聚焦于生产者性能优化策略。这是Kafka中极为关键的技术点&#xff0c;也是大厂面试中的高频考点——尤其是在涉及高并发数据写入、日志采集、实时数仓等场景时&#xff0c;面试…

深入解析AI温度参数:控制文本生成的随机性与创造性

引言 在人工智能飞速发展的今天&#xff0c;文本生成模型如GPT系列已经成为内容创作、代码编写、对话系统等领域的核心工具。然而&#xff0c;许多用户在使用这些模型时&#xff0c;可能会发现输出结果有时过于保守和重复&#xff0c;有时又过于天马行空而缺乏连贯性。这背后其…

20250912在荣品RD-RK3588-MID开发板的Android13系统下在接电脑的时候禁止充电

20250912在荣品RD-RK3588-MID开发板的Android13系统下在接电脑的时候禁止充电 2025/9/12 10:21缘起&#xff1a;某人的电脑接荣品RD-RK3588-MID开发板的时候做APK开发板的时候&#xff0c;通过Android Studio连接荣品RD-RK3588-MID开发板。 经常断联/时断时续。投诉了/抱怨了好…

Unity Addressable System 本地服务器功能验证

1.从Package Manger里安装Addressable 注意这里有Addressables和Addressables两个包&#xff0c;前者是核心框架&#xff0c;处理跨平台通用逻辑&#xff0c;比如用 地址&#xff08;Address&#xff09;来异步加载、卸载资源&#xff1b;自动做引用计数&#xff0c;避免资源泄…

碎片化采购是座金矿:数字化正重构电子元器件分销的价值链

在电子元器件的分销江湖里&#xff0c;长期存在着一条隐秘的“鄙视链”&#xff1a;订单金额大、需求稳定的头部客户是众星捧月的“香饽饽”&#xff0c;而需求碎片化、品类繁多的小微企业长尾订单&#xff0c;则常被视作食之无味、弃之可惜的“鸡肋”。行业固有认知告诉我们&a…

Typescript - 通俗易懂的 interface 接口,创建接口 / 基础使用 / 可选属性 / 只读属性 / 任意属性(详细教程)

前言 在面向对象语言中&#xff0c;接口是一个很重要的概念&#xff0c;它是对行为的抽象&#xff0c;而具体如何行动需要由类去实现。 TypeScript 中的接口是一个非常灵活的概念&#xff0c;除了可用于 对类的一部分行为进行抽象 以外&#xff0c;也常用于对「对象的形状&…

【硬件-笔试面试题-92】硬件/电子工程师,笔试面试题(知识点:米勒效应,米勒平台)

题目汇总版--链接&#xff1a; 【硬件-笔试面试题】硬件/电子工程师&#xff0c;笔试面试题汇总版&#xff0c;持续更新学习&#xff0c;加油&#xff01;&#xff01;&#xff01;-CSDN博客 【硬件-笔试面试题-92】硬件/电子工程师&#xff0c;笔试面试题&#xff08;知识点…

C语言深度入门系列:第十一篇 - 动态内存管理与数据结构:程序世界的高效算法大师

C语言深度入门系列&#xff1a;第十一篇 - 动态内存管理与数据结构&#xff1a;程序世界的高效算法大师 本章目标 本章将深入探讨C语言中的动态内存管理和经典数据结构实现&#xff0c;这是从基础编程迈向算法工程师的关键一步。您将掌握内存的精确控制、理解各种数据结构的本质…

Go 语言开发环境安装与 GOPROXY 镜像配置(含依赖管理与版本切换技巧)

在国内搭建 Go 开发环境的最大障碍不是“怎么装”&#xff0c;而是“下不动”。本文是我在多台 Windows / macOS / Linux 机器上踩坑后的整合笔记&#xff1a;用最稳妥的安装方式 合理的镜像配置 一套通吃的依赖/版本管理流程&#xff0c;把速度、稳定性和可维护性一次性解决…

崔传波教授:以科技与人文之光,点亮近视患者的清晰视界‌

崔传波教授&#xff1a;以科技与人文之光&#xff0c;点亮近视患者的清晰视界‌在临沂新益民眼科医院&#xff0c;有这样一位眼科医师——他不仅是近视矫正领域的专家&#xff0c;更是“金视青春之光手术”的研发倡导者。‌崔传波教授‌以其深厚的学术功底、创新的技术理念和以…

如何写过滤条件wrapper的使用

模糊查询 &#xff1a;功能是&#xff1a;查询 WORK_NUM 字段包含 ${workOrder.workNum} 的记录。<if test"workOrder.workNum ! null and workOrder.workNum ! ">and b.WORK_NUM like CONCAT(%,CONCAT(#{workOrder.workNum},%)) </if>一、比较条件方法示…

【Spring Boot 报错已解决】彻底解决 “Main method not found in class com.xxx.Application” 报错

文章目录引言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路二、解决方法2.1 方法一&#xff1a;添加标准的main方法2.2 方法二&#xff1a;检查main方法的定义是否规范2.3 方法三&#xff1a;检查主类的位置是否正确2.4 方法四&#xff1a;重新构建项目并清理缓存三、其他…

配置自签证书多域名的动态网站+部署http的repo仓库+基于nfs与yum仓库的http部署

1.配置自签证书多域名的动态网站1.1配置自签证书1.1.1配置仓库[rootapache ~]# vim /etc/yum.repos.d/epel.repo [epel] nameepel baseurlhttps://mirrors.aliyun.com/epel/9/Everything/x86_64/ gpgcheck0 1.1.2安装easy-rsa工具(用于生成和…

【开题答辩全过程】以 12306候补购票服务系统为例,包含答辩的问题和答案

个人简介一名14年经验的资深毕设内行人&#xff0c;语言擅长Java、php、微信小程序、Python、Golang、安卓Android等开发项目包括大数据、深度学习、网站、小程序、安卓、算法。平常会做一些项目定制化开发、代码讲解、答辩教学、文档编写、也懂一些降重方面的技巧。感谢大家的…