当前位置: 首页 > news >正文

重生之我在学Vue--第3天 Vue 3 模板语法与指令

重生之我在学Vue–第3天 Vue 3 模板语法与指令

文章目录

  • 重生之我在学Vue--第3天 Vue 3 模板语法与指令
    • 前言
    • 一、数据绑定
      • 1.1 单向绑定
      • 1.2 双向绑定
    • 二、常用指令
      • 2.1 v-bind
      • 2.2 v-model
      • 2.3 v-if
      • 2.4 v-show
      • 2.5 v-for
      • 2.6 v-on
    • 三、事件处理与表单绑定
      • 3.1 事件处理
      • 3.2 表单绑定

前言

在 Vue 3 中,模板语法是构建用户界面的核心部分,它结合了 HTML 和 Vue 的指令,用于动态绑定数据和处理用户交互。以下是关于模板语法和常用指令的快速入门,详细讲解请参考官方文档。

Vue3 官方中文文档传送点: 简介 | Vue.js

Vue3 的中文官方文档学习笔记很全还有练习场,推荐去官网学习

Vue前端成仙之路:Vue 前端成仙之路_野生的程序媛的博客-CSDN博客

GO后端成神之路:Go 后端成神之路_野生的程序媛的博客-CSDN博客


一、数据绑定

1.1 单向绑定

单向绑定是指将数据从 Vue 的实例绑定到模板中,数据流是单向的(从数据到视图)。

语法

  • 使用 {{}} 插值语法。
  • 使用 v-bind 指令绑定属性。

示例

<template><div><!-- 插值语法 --><p>欢迎,{{ username }}!</p><!-- 属性绑定 --><img :src="imageUrl" alt="图片描述"></div>
</template><script>
export default {data() {return {username: 'Vue 学习者',imageUrl: 'https://example.com/image.jpg'};}
};
</script>

注意

  • 插值语法 {{ }} 只能用于文本内容。
  • 如果需要绑定到 HTML 属性(如 srcclass 等),必须使用 v-bind

1.2 双向绑定

双向绑定是指数据和视图之间可以互相影响。Vue 提供了 v-model 指令来实现双向绑定,常用于表单控件。

语法

  • 使用 v-model 指令。

示例

<template><div><p>输入框内容:{{ inputValue }}</p><input v-model="inputValue" placeholder="请输入内容"></div>
</template><script>
export default {data() {return {inputValue: ''};}
};
</script>

注意

  • v-model 适用于 <input><textarea><select> 等表单元素。
  • 在 Vue 3 中,v-model 支持自定义修饰符和组件。

二、常用指令

2.1 v-bind

  • 功能:动态绑定 HTML 属性或组件的 prop。
  • 语法v-bind:属性名="表达式",可以简写为 :属性名="表达式"

示例

<template><div><a :href="url">点击跳转</a><img :src="imageUrl" alt="动态图片"></div>
</template><script>
export default {data() {return {url: 'https://example.com',imageUrl: 'https://example.com/image.jpg'};}
};
</script>

2.2 v-model

  • 功能:实现双向绑定。
  • 语法v-model="变量名"

示例

<template><div><input v-model="message" placeholder="输入你的信息"><p>你输入的信息是:{{ message }}</p></div>
</template><script>
export default {data() {return {message: ''};}
};
</script>

2.3 v-if

  • 功能:条件渲染,元素是否渲染由表达式的真假决定。
  • 语法v-if="表达式"

示例

<template><div><p v-if="isLoggedIn">欢迎回来,用户!</p><p v-else>请先登录。</p></div>
</template><script>
export default {data() {return {isLoggedIn: false};}
};
</script>

注意

  • 如果需要多个条件判断,可以使用 v-else-ifv-else

2.4 v-show

  • 功能:控制元素的显示与隐藏,但不会从 DOM 中移除元素。
  • 语法v-show="表达式"

示例

<template><div><p v-show="isVisible">这是一段可见的文字。</p><button @click="toggleVisibility">切换显示</button></div>
</template><script>
export default {data() {return {isVisible: true};},methods: {toggleVisibility() {this.isVisible = !this.isVisible;}}
};
</script>

区别

  • v-if 是条件渲染,元素会被添加或移除。
  • v-show 是显示与隐藏,元素始终存在于 DOM 中,只是通过 CSS 控制 display

2.5 v-for

  • 功能:渲染列表。
  • 语法v-for="(item, index) in 列表"

示例

<template><ul><li v-for="(item, index) in items" :key="index">{{ index + 1 }}. {{ item }}</li></ul>
</template><script>
export default {data() {return {items: ['苹果', '香蕉', '橙子']};}
};
</script>

注意

  • 必须为每个列表项提供唯一的 key 值,通常使用 :key="唯一标识"

2.6 v-on

  • 功能:绑定事件监听器。
  • 语法v-on:事件名="方法名",可以简写为 @事件名="方法名"

示例

<template><div><button @click="handleClick">点击我</button></div>
</template><script>
export default {methods: {handleClick() {alert('按钮被点击了!');}}
};
</script>

修饰符

  • .stop:阻止事件冒泡。
  • .prevent:阻止默认行为。
  • .once:只触发一次事件。
  • .capture:使用捕获模式。
  • .self:只在事件目标是当前元素时触发。
  • .passive:提升滚动性能。

示例

<template><button @click.stop="handleClick">阻止冒泡</button>
</template>

三、事件处理与表单绑定

3.1 事件处理

通过 v-on@ 绑定事件,可以直接调用方法,也可以传递参数。

示例

<template><button @click="sayHello('Vue')">点击我</button>
</template><script>
export default {methods: {sayHello(name) {alert(`你好,${name}!`);}}
};
</script>

3.2 表单绑定

Vue 提供了强大的表单绑定功能,通过 v-model 可以轻松绑定各种表单控件。

文本输入框

<input v-model="textValue">

复选框

<input type="checkbox" v-model="isChecked">

单选框

<input type="radio" v-model="selectedOption" value="A">
<input type="radio" v-model="selectedOption" value="B">

下拉菜单

<select v-model="selected"><option value="A">选项 A</option><option value="B">选项 B</option>
</select>

相关文章:

重生之我在学Vue--第3天 Vue 3 模板语法与指令

重生之我在学Vue–第3天 Vue 3 模板语法与指令 文章目录 重生之我在学Vue--第3天 Vue 3 模板语法与指令前言一、数据绑定1.1 单向绑定1.2 双向绑定 二、常用指令2.1 v-bind2.2 v-model2.3 v-if2.4 v-show2.5 v-for2.6 v-on 三、事件处理与表单绑定3.1 事件处理3.2 表单绑定 前言…...

电脑win11家庭版升级专业版和企业版相关事项

我的是零刻ser9&#xff0c;自带win11家庭版&#xff0c;但是我有远程操控需求&#xff0c;想用windows系统自带的远程连接功能&#xff0c;所以需要升级为专业版。然后在系统激活页面通过更改序列号方式&#xff0c;淘宝几块钱买了个序列号升级成功专业版了。但是&#xff0c;…...

docker 架构详解

Docker架构是基于客户端-服务器&#xff08;C/S&#xff09;模式的&#xff0c;包含多个关键组件&#xff0c;以确保容器化应用的高效构建、管理和运行。以下是对Docker架构的详细解析&#xff1a; Docker 架构概述 Docker 架构采用客户端-服务器&#xff08;C/S&#xff09;…...

tinyCam Pro 用于远程监控,控制和录制您的私人公共网络或IP摄像机

tinyCam Pro 是一款用于远程监控&#xff0c;控制和录制您的私人/公共网络或IP摄像机&#xff0c;视频编码器和具有500万次下载的CCTV摄像头的DVR。需使用3G/4G/WiFi连接和下载数据。 tinyCam Monitor Pro 可用于远程安全地监控您的宝宝、宠物、家庭、商业、交通和天气&#xf…...

Flask 验证码自动生成

Flask 验证码自动生成 想必验证码大家都有所了解&#xff0c;但是可以自己定义图片验证码&#xff0c;包含数字&#xff0c;英文以及数字计算&#xff0c;自动生成验证码。 生成图片以及结果 from captcha.image import ImageCaptchafrom PIL import Image from random impo…...

vmpwn小总结

前言&#xff1a; 好久没有更新博客了&#xff0c;关于vm的学习也是断断续续的&#xff0c;只见识了几道题目&#xff0c;但是还是想总结一下&#xff0c;所谓vmpwn就是把出栈&#xff0c;进栈&#xff0c;寄存器&#xff0c;bss段等单独申请一块空闲实现相关的功能&#xff0…...

开源密码管理器 Bitwarden 一站式管理所有密码以及 2FA

本文首发于只抄博客&#xff0c;欢迎点击原文链接了解更多内容。 前言 随着注册的平台越来越多&#xff0c;管理密码的难度也越来越高了。要是把密码都设置成一样的&#xff0c;担心哪天某个平台泄露被一锅端&#xff0c;而每个平台单独一个密码又不太好记&#xff0c;这时候就…...

标准体重计算API集成指南

标准体重计算API集成指南 引言 在当今数字化和健康意识日益增长的时代&#xff0c;开发人员和健康管理专业人士不断寻找创新的方法来促进用户的健康生活。标准体重计算是一个关键的健康指标&#xff0c;它可以帮助个人了解自己的身体状况&#xff0c;并为制定合适的饮食和运动…...

多个终端查看的history不一样,如何确保多个终端会话之间的 history 一致,减少历史记录差异

问题&#xff1a; 在使用 Linux 系统时&#xff0c;history 命令显示的历史记录通常是与当前终端会话相关的。这就意味着&#xff0c;如果你在多个终端中打开会话&#xff0c;它们显示的历史记录可能不完全相同。这个问题通常是由以下原因引起的&#xff1a; 原因&#xff1a…...

Spring Boot整合EasyExcel并行导出及Zip压缩下载

1. 项目依赖 首先&#xff0c;我们需要引入相关的依赖&#xff0c;包括 Spring Boot 和阿里巴巴的 EasyExcel 组件&#xff0c;此外还需要使用 Java 的 Zip 工具进行压缩操作。 <dependencies><!-- Spring Web --><dependency><groupId>org.springfr…...

Docker 对 iptables 规则的自动配置,这句话是什么意思

Docker 对 iptables 规则的自动配置指的是 Docker 守护进程 (daemon) 会自动管理 Linux 系统上的 iptables 规则&#xff0c;以便容器可以正确地进行网络通信。这对于大多数用户来说是一个方便的功能&#xff0c;因为它简化了容器网络配置。 具体来说&#xff0c;这意味着&…...

使用aarch64-unknown-linux-musl编译生成静态ARM64可执行文件

使用aarch64-unknown-linux-musl编译生成静态ARM64可执行文件 使用aarch64-unknown-linux-musl编译生成静态ARM64可执行文件1. 安装aarch64-unknown-linux-musl目标2. 安装交叉编译工具链安装musl-cross-make 3. 配置Rust编译器使用交叉编译工具链4. 编译你的Rust项目5. 运行或…...

【SpringBoot中出现循环依赖错误】

SpringBoot中出现循环依赖错误 在Spring Boot中&#xff0c;循环依赖&#xff08;circular dependency&#xff09;是指两个或多个bean相互依赖&#xff0c;形成一个闭合的依赖环。例如&#xff0c;Bean A依赖于Bean B&#xff0c;而Bean B又反过来依赖于Bean A。这种情况下&a…...

数据仓库-基于角色的权限管理(RBAC)

什么是基于角色的用户管理&#xff1f; 基于角色的用户管理(Role-Based Access Control&#xff0c;简称RBAC)是通过为角色赋予权限&#xff0c;用户通过成为适当的角色而得到这些角色的权限。 角色是一组权限的抽象。 使用RBAC可以极大简化对权限的管理。 什么是RBAC模型&…...

springboot3整合javafx解决bean注入问题

springboot整合javafx时候&#xff0c;很多问题就在于controller没有被spring容器管理&#xff0c;无法注入bean&#xff0c;在这里提供一套自己的解决思路 执行逻辑 这里仅仅提供一个演示&#xff0c;我点击按钮之后&#xff0c;从service层返回一个文本并显示 项目结构 创…...

.NET 8 Blazor Web项目中的 .razor 文件与 .cshtml 文件的本质区别

在.NET 8 Blazor Web项目中&#xff0c;.razor 和 .cshtml 文件是常用的视图文件格式。尽管它们看起来有相似之处&#xff0c;但在使用方式、功能和渲染机制上有着根本的不同。理解它们的本质区别&#xff0c;有助于开发者更好地选择合适的文件格式&#xff0c;并构建符合需求的…...

SpringBoot快速使用

一些名词的碎碎念: 1> 俩种网络应用设计模式 C/S 客户端/服务器 B/S 浏览器/服务器 俩者对比: 2> 集群和分布式的概念 集群: 分布式: 例子: 一个公司有一个人身兼多职 集群: 招聘N个和上面这个人一样身兼多职 分布式: 招聘N个人,分担上面这个人的工作,进行工作的拆分. 工…...

【C语言实现:用队列模拟栈与用栈模拟队列(LeetCode 225 232)】

LeetCode刷题记录 &#x1f310; 我的博客主页&#xff1a;iiiiiankor&#x1f3af; 如果你觉得我的内容对你有帮助&#xff0c;不妨点个赞&#x1f44d;、留个评论✍&#xff0c;或者收藏⭐&#xff0c;让我们一起进步&#xff01;&#x1f4dd; 专栏系列&#xff1a;LeetCode…...

远程控制软件对比与使用推荐

远程控制软件对比与使用推荐 远程控制软件在现代工作环境中扮演着重要角色&#xff0c;无论是远程办公、技术支持、还是家庭成员之间的协助。以下是对几种常见远程控制软件的详细对比和推荐使用场景。 1. TeamViewer 特点 跨平台&#xff1a;支持Windows、macOS、Linux、iO…...

vue canvas 绘制选定区域 矩形框

客户那边文档相当的多&#xff0c;目前需要协助其将文档转为数据写入数据库&#xff0c;并与其他系统进行数据共享及建设&#xff0c;所以不得不搞一个识别的功能&#xff0c;用户上传PDF文档后&#xff0c;对于关键信息点进行识别入库&#xff01; 以下为核心代码&#xff0c…...

【SpringCloud】OpenFeign配置时间Decode

文章目录 1.自定义反序列化器2.配置类与自定义 ObjectMapper客户端 需求&#xff1a;OpenFeign配置自定义decode&#xff0c;解析http请求返回的时间字符串 1.自定义反序列化器 Date 自定义反序列化器 import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.j…...

Xerces-C,一个成熟的 C++ XML 解析库!

嗨&#xff0c;大家好&#xff01;我是一行。今天咱们来探索 Xerces-C&#xff0c;它可是 C里超棒的 XML 解析库哦&#xff01;能帮咱轻松处理 XML 数据&#xff0c;在很多数据交互、配置文件读取场景都超实用&#xff0c;快来一起学习使用它的妙招吧。 一、Xerces-C 是什么&am…...

6.2 MapReduce工作原理

MapReduce工作原理涉及将大数据集分割成小块并行处理。Map任务读取数据块并输出中间键值对&#xff0c;而Reduce任务则处理这些排序后的数据以生成最终结果。MapTask工作包括读取数据、应用Map函数、收集输出、内存溢出时写入磁盘以及可选的Combiner局部聚合。ReduceTask工作则…...

一次旧业务系统迁移收缩的经历

单位的一个业务系统&#xff0c;在几年前已经更换了。但旧的系统里面还有很多没有转移过来的数据&#xff0c;虽然普通用户不再需要用旧的系统&#xff0c;但相应部门的管理人员还需要在旧系统查询数据资料&#xff0c;这应该是旧系统向新系统迁移时&#xff0c;数据不彻底&…...

MVC配置文件及位置

配置文件位置 默认位置 WEB-INF目录下&#xff0c;文件名&#xff1a;<servlet-name>-servlet.xml <?xml version"1.0" encoding"UTF-8"?> <web-app xmlns"http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi"http://www.w3.…...

如何解决samba服务器共享文件夹不能粘贴文件

sudo vim /etc/samba/smb.conf在samba的配置文件中增加一个选项 writable yes重启Samba服务以使更改生效&#xff1a; sudo service smbd restart...

【中工开发者】鸿蒙商城app

这学期我学习了鸿蒙&#xff0c;想用鸿蒙做一个鸿蒙商城app&#xff0c;来展示一下。 项目环境搭建&#xff1a; 1.开发环境&#xff1a;DevEco Studio2.开发语言&#xff1a;ArkTS3.运行环境&#xff1a;Harmony NEXT base1 软件要求&#xff1a; DevEco Studio 5.0.0 Rel…...

(九)机器学习 - 多项式回归

多项式回归&#xff08;Polynomial Regression&#xff09;是一种回归分析方法&#xff0c;它将自变量 xx 和因变量 yy 之间的关系建模为 nn 次多项式。多项式回归的目的是找到一个 nn 次多项式函数&#xff0c;使得这个函数能够最好地拟合给定的数据点。 多项式回归的数学表达…...

Qt编写区位码gb2312、机内码、国标码————附带详细介绍和编码实现

文章目录 0 背景1 了解编码1.1 ASCII码1.2 机内码、国标码、区位码1.2.1 区位码1.2.2 国标码&#xff08;GB 2312-80&#xff09;1.2.3 汉字机内码&#xff08;GB 2312&#xff09; 1.3 GBK和GB2312的区别2 编码实现2.1 QString数据转QByteArray类型2.1.1 使用QTextCodec2.1.2 …...

linux网络编程 | c | epoll实现IO多路转接服务器

epoll实现IO多路转接服务器 可通过以下视频学习 06-opell函数实现的多路IO转接_哔哩哔哩_bilibili 通过响应式–多路IO转接实现 文章目录 epoll实现IO多路转接服务器1.思路&功能核心思路 2.代码实现multi_epoll_sever.c运行图 1.思路&功能 **功能&#xff1a;**客…...

wordpress登陆评论/厦门搜索引擎优化

sort() 方法用于对数组的元素进行排序。 注意&#xff1a;数组在原数组上进行排序&#xff0c;不生成副本。即修改原数组 arr.sort(sortNumber);说明 如果调用该方法时没有使用参数&#xff0c;将按字母顺序对数组中的元素进行排序&#xff0c;说得更精确点&#xff0c;是按照…...

wordpress导入demo/上海公司网站seo

文章目录一、简单局域网的构成二、IP地址三、子网掩码四、IP地址详解五、网关六、DNS七、网络测试命令一、简单局域网的构成 局域网&#xff1a;一般称为内网。 简单的局域网构成&#xff1a;交换机、网线、pc机&#xff08;其他终端&#xff09; 交换机&#xff1a;用来组建内…...

丰田车营销网站建设的纲要计划书/怎么开自己的网站

现在大多数酒厂用的酒精有两种&#xff0c;一种叫薯干酒精&#xff0c;一种叫糖蜜酒精&#xff0c;这两种酒精市场价格基本在4000元至5000元一吨。用98度的酒精勾兑50度的酒&#xff0c;要加一倍的水&#xff0c;那么500毫升的酒成本才一块多钱&#xff0c;一吨酒加入的香精成本…...

wordpress网站logo/兰州模板网站seo价格

发现好多人都在解决一个问题那就是&#xff0c;如何实现android相机的自动对焦&#xff0c;而且是连续自动对焦的。当然直接调用系统相机就不用说了&#xff0c;那个很简单的。下面我们主要来看看如如何自己实现一个相机&#xff0c;并且实现自动连续对焦。 根据网上的资料有如…...

给钱做h事都行的网站名/小红书推广策略

对于手持谷歌亲儿子的 Pixel 2、Pixel 2 XL 的用户来说&#xff0c;6 月份估计会有个好消息&#xff0c;就是困扰他们很久的系统 bug 似乎重要要修复了&#xff0c;真是喜大普奔啊。虽然谷歌已经放出了新的 Android P 开发者预览版&#xff0c;但对于正式版最新的 Android 8.1&…...

陕西省建设厅网站证件查询/怎么做自己的网页

2019独角兽企业重金招聘Python工程师标准>>> 在进行 ping和route后发现网络通信都是正常的&#xff0c;而且在mysql机器上进行本地连接发现是很快的&#xff0c;所以网络问题基本上被排除了。以前也遇到过一次这样的 问题&#xff0c;可后来就不知怎么突然…...