web学习笔记(五十八)
目录
1. v-model 双向数据绑定
2. 事件修饰符
3. 路径别名
4. setup语法糖
4.1 语法糖的概念
4.2 setup语法糖
5. 配置代理服务器
1. v-model 双向数据绑定
- v-model 双向数据绑定只能使用在表单标签;
- v-model双向数据绑定原理:采用 Object.defineProperty进行数据劫持 结合发布订阅者模式实现数据更新视图改变,视图改变数据更新。
<template><div><div>用户姓名:<input type="text" name="" id="" v-model="username" /></div><div>用户性别<input type="radio" name="sex" value="男" v-model="sex" />男<inputtype="radio"name="sex"value="女"v-model="sex"/>女</div><button @click="tijiao">提交用户信息</button></div>
</template>
<style>
</style>
<script>
import { ref } from "vue";
export default {setup() {let username = ref(" ");let sex = ref("女");const tijiao = () => {console.log("用户信息" + username.value);console.log("用户性别" + sex.value);};return {username,tijiao,sex};}
};
</script>
2. 事件修饰符
在 Vue中的事件修饰符支持链式调用,但是只有少数事件修饰符可以支持链式调用:
.stop
、 .prevent
、 .self
、.capture
、 .once
和 .passive
这六个事件修饰符可以进行链式调用。其他事件修饰符,如.native
和.sync
等,则不支持链式调用。
(1) .stop:阻止事件向上冒泡
<template><div><div class="d1" @click="d1Click"><div class="d2" @click.stop="d2Click"></div></div></div>
</template>
<style>
.d1 {width: 120px;height: 120px;background-color: blue;
}
.d2 {width: 60px;height: 60px;background-color: rgb(255, 145, 0);
}
</style>
<script>
export default {setup() {const d2Click = () => {console.log("事件2");};const d1Click = () => {console.log("事件1");};return {d1Click,d2Click};}
};
</script>
(2) .prevent:阻止标签默认行为发生。比如:a标签的跳转,form的默认提交行为。
<template><div><a href="http://www.baidu.com" @click.prevent="d2Click">百度一下</a></div>
</template>
<style>
</style>
<script>
export default {setup() {const d2Click = () => {console.log("事件2");};const d1Click = () => {console.log("事件1");};return {d1Click,d2Click};}
};
</script>
3. 路径别名
路径别名是指在项目中定义的一些简短的路径,用来代替复杂的长路径。通过使用路径别名,可以减少代码中的重复冗余,提高代码可读性和可维护性。
import http from "@/utlis/http";
创建项目时vite已经帮我们配置好了一个路径别名规则 :@ 在vue2和vue3通用,它代表src这个目录的路径。写@符号vue就会找到src目录。省去了../这种查找方式,更便捷。 也可以在vite.config.js中自定义路径别名。
4. setup语法糖
4.1 语法糖的概念
语法糖(Syntactic sugar)是指在编程语言中提供的一种更简洁、更易读的语法形式,用来表示相同的功能。它并不是引入新的功能,只是为了提高编程的效率和可读性。语法糖让代码更易于写和理解,虽然底层实现是一样的,但使用语法糖可以让代码更简洁、更优雅。它可以隐藏一些冗长的细节,使得程序员能够更容易地理解和编写代码。
4.2 setup语法糖
在script标签内部写入setup就可以使用setup语法糖了,此时不需要在script内部写入口函数,可以直接编写相关代码,也不需要将变量和方法用return返回就可以直接在template标签内部使用。
<script setup>
import { ref } from "vue";
import http from "@/utlis/http";
const count = ref(0);
const setCount = () => {count.value++;
};
// 2.这里不需要添加async修饰了,配合App.vue中的<Suspence>可以直接使用await发送初始化请求了。
const data = await http("/hgapi/live/cate/newRecList?offset=0&cate2=wzry&limit=5", "GET");
console.log(data);
</script>
5. 配置代理服务器
配置代理服务器也叫配置反向代理,可以用来解决跨域的问题。在vite.config.js文件中可以按照以下格式自行配置代理服务器。
- /api(也就是下列代码中的/hgapi,这个是可以自行定义的)表示服务器要监听的前端请求接口路径,监听的是路径开头,不包含域名和端口。整体意思是:代理服务器监听接口路径是否以/api开头的,是就走这个代理服务器,解决跨域。不是以/api开头就不走代理服务器
- 当浏览器发请求,如果没有携带域名,默认浏览器会把当前服务器域名加上,当前域名是http://localhost::5173
- 当配置完代理服务器后再发送请求时,请求地址就不要再写https://m.douyu.com/了,直接跟后面的地址即可。
server: {proxy: { "/hgapi": {target: "https://m.douyu.com",//目标域名:代理服务器localhost::5173换成target域名,服务器之间的请求时不存在跨域的。changeOrigin: true,//允许切换域名},},},
相关文章:

web学习笔记(五十八)
目录 1. v-model 双向数据绑定 2. 事件修饰符 3. 路径别名 4. setup语法糖 4.1 语法糖的概念 4.2 setup语法糖 5. 配置代理服务器 1. v-model 双向数据绑定 v-model 双向数据绑定只能使用在表单标签; v-model双向数据绑定原理:采用 Object.de…...

精准安全运维,统信UOS服务器版V20(1070)漏洞修复指南丨年度更新
随着信息安全威胁的不断升级,操作系统的安全性已成为企业运维的关键要素。 为了确保业务运行环境的安全无忧,统信软件持续致力于技术创新和优化,并于日前重磅推出了统信UOS服务器版V20(1070)。该系统提供了高频补丁更…...

Vue3实战笔记(46)—Vue 3高效开发定制化Dashboard的权威手册
文章目录 前言Dashboard开发总结 前言 后台管理系统中的Dashboard是一种图形化的信息显示工具,通常用于提供一个特定领域或系统的概况。它可以帮助用户监控和分析数据,快速获取重要信息。可以帮助用户监控业务状况、分析数据、获取关键信息和管理资源。…...
MySQL为什么会选错索引
有的时候,我们加了索引,也不一定最终查询语句就能用上索引,因为Innodb要不要使用索引,该使用哪个索引是优化器决定的,它是根据成本(代价)预估来选择的,他会倾向于选择一个成本最低的…...
kafka调优参考建议 —— 筑梦之路
这里主要是从不同使用场景来调优,仅供参考。 吞吐量优先 吞吐量优先使用场景如采集日志。 1. broker配置调优 num.partitions:分区个数,设置为与消费者的线程数基本相等 2. producer配置调优 batch.size 批量提交消息的字节数,…...

Redis(十三) 事务
文章目录 前言事务的特性Redis事务的执行原理Redis中使用事务WATCH UNWATCH实现乐观锁 前言 前面我们学习 MySQL 的时候,肯定也学习了事务。事务是什么?给大家举个例子:假如我给朋友微信转账,我给他转了 100 块钱,当我…...
RK 11.0 多屏模式下修改鼠标进入方式
要求:主屏在左,副屏在右。这种排列情况下鼠标仅可通过主屏的最右侧移入副屏的最左侧,或从副屏的最左侧移入主屏最右侧。 1.RK默认设计 1.1 RK的代码设计是当sys.mouse.presentation1时,鼠标在屏幕边缘的时候就会移入另一个屏幕 …...

【收录 Hello 算法】10.4 哈希优化策略
目录 10.4 哈希优化策略 10.4.1 线性查找:以时间换空间 10.4.2 哈希查找:以空间换时间 10.4 哈希优化策略 在算法题中,我们常通过将线性查找替换为哈希查找来降低算法的时间复杂度。我们借助一个算法题来加深理解。 Question 给…...
浅析部署架构中的GZone、RZone和CZone
在现代软件开发中,理解和应用各种技术概念是成功的重要因素。本文将详细介绍GZone、RZone和CZone三个概念,解释它们的定义、特点、功能及应用场景,并通过实际案例帮助读者更好地理解这些概念。 一、GZone 1.1 定义 GZone是指“Global Zone…...

【全开源】分类记账小程序系统源码(ThinkPHP+FastAdmin+UniApp)
基于ThinkPHPFastAdminUniAppvk-uView-uiVue3.0开发的一款支持多人协作的记账本小程序,可用于家庭,团队,组织以及个人的日常收支情况记录,支持周月年度统计。 :智能管理您的财务生活 一、引言:财务智能化…...
Android NDK系列(四)NDK的编译
Native工程一般会用到NDK,一般开发者使用的NDK是官方提供的,直接下载即可使用。在工作过程中一般很少要定义NDK,不过对于想了解NDK是怎么生成的,可以继续往下阅读。 Google提供了编译NDK的说明文档,地址为NDK编译&…...

Jenkins--从入门到入土
Jenkins–从入门到入土 文章目录 Jenkins--从入门到入土〇、概念提要--什么是CI/DI?1、CI(Continuous Integration,持续集成)2、DI(DevOps Integration,DevOps 集成)3、解决的问题 一、Jenkins安…...

文心一言 VS 讯飞星火 VS chatgpt (267)-- 算法导论20.2 2题
二、写出 PROTO-vEB-DELETE 的伪代码。通过扫描簇内的相关位,来更新相应的 summary 位。并且你实现的伪代码的最坏情况运行时间是多少?如果要写代码,请用go语言。 文心一言: 首先,让我们回顾一下vEB(Van …...
C 语言设计模式(结构型)
文章目录 代理模式场景示例 门面模式场景示例 桥接模式场景示例 适配器模式场景示例 外观模式场景示例 享元模式场景示例 装饰器模式场景示例 组合模式场景示例 代理模式 C语言中,代理模式通常用于实现对象的间接访问。代理模式是一种结构型设计模式,它…...

【云原生--K8S】K8S python接口研究
文章目录 前言一、搭建ubuntu运行环境1.运行ubuntu容器2.拷贝kubeconfig文件二、python程序获取k8s信息1.获取node信息2.获取svc信息3.常用kubernetes API总结前言 在前面的文章中我们都是通过kubectl命令行来访问操作K8S,但是在实际应用中可能需要提供更方便操作的图形化界面…...
5.26作业
服务器 2 3 #define BUFSIZE 10244 #define login_msg_len 205 6 typedef struct Node{7 char name[login_msg_len];8 struct sockaddr_in addr;9 struct Node *next;10 }Node;11 12 typedef struct Msgtype{13 char type;14 char username[login_msg_len]…...
链接库文件体积优化工具篇:bloaty
笔者之前参与过一个嵌入式智能手表项目,曾经碰到过这样一个问题:手表的flash大小只有2M,这意味着只能在上面烧录2M大小的代码。随着开发不断进行,代码越写越多,编译出来的bin也越来越大。最后bin大小超过了2M, 就没法烧…...

使用pyqt绘制一个爱心!
使用pyqt绘制一个爱心! 介绍效果代码 介绍 使用pyqt绘制一个爱心! 效果 代码 import sys from PyQt5.QtWidgets import QApplication, QMainWindow, QWidget from PyQt5.QtGui import QPainter, QPen, QBrush, QColor from PyQt5.QtCore import Qt, Q…...
关于 Transformer 的11个常见面试题
Transformer 是如何工作的? Transformer 是一种深度学习算法,特别适用于自然语言处理(NLP)任务,如语言翻译、语言生成和语言理解。它们能够处理长度可变的输入序列并捕捉长距离依赖关系,使其在理解和处理自…...
OS多核多线程锁记录笔记
自旋锁作用 自旋锁的是为了保护两个核上的公共资源,也就是全局变量,只有在一方也就是一个核抢到了自选锁,才能对公共资源进行操作修改,当然还有其他形似的锁如互斥锁,这里不比较两者的区别,以前没有深入的去…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

1.3 VSCode安装与环境配置
进入网址Visual Studio Code - Code Editing. Redefined下载.deb文件,然后打开终端,进入下载文件夹,键入命令 sudo dpkg -i code_1.100.3-1748872405_amd64.deb 在终端键入命令code即启动vscode 需要安装插件列表 1.Chinese简化 2.ros …...

视频字幕质量评估的大规模细粒度基准
大家读完觉得有帮助记得关注和点赞!!! 摘要 视频字幕在文本到视频生成任务中起着至关重要的作用,因为它们的质量直接影响所生成视频的语义连贯性和视觉保真度。尽管大型视觉-语言模型(VLMs)在字幕生成方面…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作
一、上下文切换 即使单核CPU也可以进行多线程执行代码,CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短,所以CPU会不断地切换线程执行,从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...
在鸿蒙HarmonyOS 5中使用DevEco Studio实现录音机应用
1. 项目配置与权限设置 1.1 配置module.json5 {"module": {"requestPermissions": [{"name": "ohos.permission.MICROPHONE","reason": "录音需要麦克风权限"},{"name": "ohos.permission.WRITE…...

如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
C++.OpenGL (20/64)混合(Blending)
混合(Blending) 透明效果核心原理 #mermaid-svg-SWG0UzVfJms7Sm3e {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-icon{fill:#552222;}#mermaid-svg-SWG0UzVfJms7Sm3e .error-text{fill…...

pikachu靶场通关笔记19 SQL注入02-字符型注入(GET)
目录 一、SQL注入 二、字符型SQL注入 三、字符型注入与数字型注入 四、源码分析 五、渗透实战 1、渗透准备 2、SQL注入探测 (1)输入单引号 (2)万能注入语句 3、获取回显列orderby 4、获取数据库名database 5、获取表名…...
xmind转换为markdown
文章目录 解锁思维导图新姿势:将XMind转为结构化Markdown 一、认识Xmind结构二、核心转换流程详解1.解压XMind文件(ZIP处理)2.解析JSON数据结构3:递归转换树形结构4:Markdown层级生成逻辑 三、完整代码 解锁思维导图新…...