【VUE】二 vue指令

news/2024/4/20 7:19:55/文章来源:https://blog.csdn.net/legend818/article/details/129246330

目录

一、插值表达式

二、v-bind指令(对标签中的属性进行操作)

三、v-model指令(input、select、textarea等。【双向绑定】)

四、v-for循环指令

 五、v-on(事件指令)

六、v-if条件判断

七、v-show(条件显示或隐藏)

八、案例:数据管理


一、插值表达式

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="./js/vue.min.js"></script>
</head>
<body>
<div id="app"><h1>vue初识</h1><div>"我叫{{name}},微信号{{wechat}},我喜欢{{hobby}},电子邮件是{{dataInfo.email}}"</div><ul><li>"春天的菠菜"</li><li>"春天的菠菜" + "学习VUE”</li><li>{{base + 1 + 1}}</li><li>{{1===1 ? "春天的菠菜,三元表达式":"秋天的菠菜三元表达式"}}</li><li>{{condition?"三元表达式true":"秋天的菠菜三元表达式false"}}</li></ul><input type="button" value="点我看真身" v-on:click="clickMe">
</div>
<script>var app= new Vue({el:'#app',data: {name:"菠菜",wechat:'bocai',hobby:"狄安娜",dataInfo:{id:1,email:'1233@qq.com',},condition:false,base:1,},methods:{clickMe:function () {this.name="咸菜";this.condition=true;this.dataInfo.email="ffsfs@163.com";}}})
</script>
</body>
</html>

二、v-bind指令(对标签中的属性进行操作)

一般用于对标签中的属性进行操作。

知识点:

        1、简写的格式::属性名=xxx,例如:

<h1 v-bind:class="v1"></h1>
<h1 :class="v1"></h1>
<img :src="xx" />

        2、v-bind属于单向绑定( JS修改->HTML修改 )。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="./js/vue.min.js"></script><style>.ig {border: 2px solid red;}.info {color: red;}.danger {font-size: 10px;}</style>
</head>
<body>
<div id="app"><h1 v-bind:class="{info:v1,danger:v2}">大力水手1,{{txt}}</h1><input type="button" v-bind:value="txt" v-on:click="clickMe"><h1 v-bind:class="clsDic">大力水手2</h1><h2 v-bind:class="[a1,a2]">奥利弗</h2><h3 v-bind:style="{color:clr, fontSize:'19px'}">BOLI(v-bind)</h3><h3 style="color:red; font-size:19px">BOLI原始</h3><img src="xx.png" class="c1"/><img alt="" v-bind:src="imgUrl" v-bind:class="cls"></div>
<script>var app = new Vue({el: '#app',data: {imgUrl: "./img/1.jpg",wechat: 'bocai',cls: "ig",v1: true,v2: true,txt:"点我",clsDic: {info: true,danger: false},a1: "info",a2: "danger",clr: 'red'},methods:{clickMe:function () {this.v1=falsethis.txt= "是你点我么"}}})
</script>
</body>
</html>

 

三、v-model指令(input、select、textarea等。【双向绑定】)

一般用于在交互的表中中使用,例如:input、select、textarea等。【双向绑定】

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="./js/vue.min.js"></script></head>
<body>
<div id="app"><div>用户名:<input type="text" v-model="user"></div><div>密码:<input type="password" v-model="pwd"></div><input type="button" value="登录" v-on:click="clickMe"/><input type="button" value="重置" v-on:click="resetForm"/>
</div><script>var app = new Vue({el: '#app',data: {user: "",pwd: "",},methods: {clickMe: function () {console.log(this.user, this.pwd)},resetForm: function () {this.user = "";this.pwd = "";}}})
</script>
</body>
</html>

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="./js/vue.min.js"></script></head>
<body>
<div id="app"><div>用户名:<input type="text" v-model="info.user"></div><div>密码:<input type="password" v-model="info.pwd"></div><div>性别:<input type="radio" v-model="info.sex" value="1">男<input type="radio" v-model="info.sex" value="2">女</div><div>爱好:<input type="checkbox" v-model="info.hobby" value="11">篮球<input type="checkbox" v-model="info.hobby" value="22">足球<input type="checkbox" v-model="info.hobby" value="33">评判求</div><div>城市:<select v-model="info.city"><option value="sh">上海</option><option value="bj">北京</option><option value="sz">深圳</option></select></div><div>擅长领域:<select v-model="info.company" multiple><option value="11">技术</option><option value="22">销售</option><option value="33">运营</option></select></div><div>其他:<textarea v-model="info.more"></textarea></div><input type="button" value="注 册" v-on:click="clickMe"/>
</div><script>var app = new Vue({el: '#app',data: {info: {user: "",pwd: "",sex: "2",hobby: ["22"],city: "sz",company: ["22", "33"],more: '...'}},methods: {clickMe: function () {console.log(this.info);},}})
</script>
</body>
</html>

四、v-for循环指令

用户数据进行循环并展示。

<ul><li> <span>id 11</span>  <span>text 孙雪</span> </li>。。。。
</ul>
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="./js/vue.min.js"></script></head>
<body>
<!-- 示例1、2   -->
<div id="app"><ul><li v-for="item in dataList">{{ item }}</li></ul><ul><li v-for="(item,idx) in dataList">{{idx}} - {{ item }}</li></ul></div>
<!-- 示例3   -->
<div id="app3"><ul><li v-for="(value,key) in dataDict">{{key}} - {{ value }}</li></ul>
</div>
<!-- 示例4   -->
<div id="app4"><ul><li v-for="(item,idx) in cityList">{{item.id}} - {{ item.text }}</li></ul>
</div>
<!-- 示例5   -->
<div id="app5"><ul><li v-for="(item,idx) in cityList"><span v-for="(v,k) in item">{{k}} {{v}}</span></li></ul>
</div>
<script>var app = new Vue({el: '#app',data: {dataList: ["张学友", "刘德华", "郭富城","菠菜", "黎明"],}});var app3 = new Vue({el: '#app3',data: {dataDict: {id: 1,age: 30,name: "小丽"}}});var app4 = new Vue({el: '#app4',data: {cityList: [{id: 11, text: "孙梅"},{id: 12, text: "贝丽"},{id: 13, text: "林碧卡"},]}});var app5 = new Vue({el: '#app5',data: {cityList: [{id: 11, text: "孙雪"},{id: 12, text: "卡梅隆"},{id: 13, text: "库卡"},]}});</script>
</body>
</html>

 五、v-on(事件指令)

事件相关的指令,例如:

v-on:click  简写@click
v-on:dblclick
v-on:mouseover,
v-on:mouseout,
v-on:change
v-on:focus
...
</head>
<body>
<div id="app"><ul><li v-on:click="clickMe">点击</li><li @click="clickMe">点击</li><li v-on:dblclick="doSomething('双击')">双击</li><li v-on:mouseover="doSomething('进入')" v-on:mouseout="doSomething('离开')">进入&离开</li></ul>
</div><script>var app = new Vue({el: '#app',data: {},methods: {clickMe: function () {alert("点击了")},doSomething: function (msg) {console.log(msg);}}})
</script>
</body>
</html>

六、v-if条件判断

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="./js/vue.min.js"></script>
</head>
<body><div id="app"><a v-if="isLogin">{{user}}</a><a v-else>登录</a>
</div><div id="app1"><h1 v-if="v1">钟丽缇</h1><h1 v-if="v2">叶海梅</h1><h1 v-else>舒淇</h1><div v-if="v3 === '春天'"><h1>舒淇</h1></div><div v-else-if="v3 === '菠菜'"><h1>真由子</h1></div><div v-else-if="v3 ==='夏天'"><h1>仓</h1></div><div v-else><h1>贝丽</h1></div>
</div><script>var app = new Vue({el: '#app',data: {isLogin: false,user: "春天的菠菜"}})var app1 = new Vue({el: '#app1',data: {v1: true,v2: true,v3: "菠菜"}})
</script>
</body>
</html>

七、v-show(条件显示或隐藏)

根据条件显示或隐藏(标签都会渲染到页面)。

目录

一、插值表达式

二、v-bind指令(对标签中的属性进行操作)

三、v-model指令(input、select、textarea等。【双向绑定】)

四、v-for循环指令

 五、v-on(事件指令)

六、v-if条件判断

七、v-show(条件显示或隐藏)

八、案例:数据管理


<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="./js/vue.min.js"></script><style>label {width: 60px;display: inline-block;text-align: right;margin-right: 8px;}</style>
</head>
<body>
<div id="app"><h1 v-show="v1">钟丽缇</h1><h1 v-show="!v1">舒淇</h1>
</div><div id="app1"><input type="button" value="密码登录" @click="isSms=false"/><input type="button" value="短信登录" @click="isSms=true"/><div v-show="isSms"><p><label>手机号</label><input type="text" placeholder="手机号"></p><p><label>验证码</label><input type="text" placeholder="验证码"></p></div><div v-show="!isSms"><p><label>用户名</label><input type="text" placeholder="用户名"></p><p><label>密码</label><input type="password" placeholder="密码"></p></div></div><script>var app = new Vue({el: '#app',data: {v1: false,}});var app1 = new Vue({el: '#app1',data: {isSms: false,}})
</script>
</body>
</html></html>

八、案例:数据管理

数据的管理包括对数据:展示、动态添加、删除、修改。

// 表格当中添加数据let row = {name: this.user, age: this.age};this.dataList.push(row);// 根据索引删除dataList中的值,根据索引和删除个数let idx = event.target.dataset.idx;this.dataList.splice(idx, 1);

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title><script src="./js/vue.min.js"></script><style>.penal {border: 1px solid #dddddd;margin: 20px 0 0 0;padding: 10px;border-bottom: 0;background-color: #d9d9d9;}.table {width: 100%;border-collapse: collapse;border-spacing: 0;}.table > tbody > tr > td, .table > tbody > tr > th, .table > tfoot > tr > td, .table > tfoot > tr > th, .table > thead > tr > td, .table > thead > tr > th {padding: 8px;vertical-align: top;border: 1px solid #ddd;text-align: left;}</style>
</head>
<body><div id="app"><h3 class="penal">表单区域</h3><div><div><label>姓名</label><input type="text" v-model="user"></div><div><label>年龄</label><input type="text" v-model="age"><input type="button" :value="title" @click="addUser"></div></div><h3 class="penal">数据列表</h3><table class="table"><thead><tr><td>姓名</td><td>年龄</td><td>操作</td></tr></thead><tbody><tr v-for="(item,idx) in dataList"><td>{{item.name}}</td><td>{{item.age}}</td><td><input type="button" value="删除" @click="deleteRow" :data-idx="idx"/><input type="button" value="编辑" @click="editRow" v-bind:data-idx="idx"/></td></tr></tbody></table>
</div>
<script>var app = new Vue({el: '#app',data: {editIndex: undefined,title: "新建",user: "",age: "",dataList: [{name: "叶媚", age: 19},{name: "钟丽缇", age: 29},]},methods: {addUser: function () {if (this.editIndex) {// 修改this.dataList[this.editIndex].name = this.user;this.dataList[this.editIndex].age = this.age;} else {let row = {name: this.user, age: this.age};this.dataList.push(row);}this.user = "";this.age = "";this.editIndex = undefined;this.title = "新建";},deleteRow: function (event) {// 根据索引删除dataList中的值 ,根据索引和删除个数let idx = event.target.dataset.idx;this.dataList.splice(idx, 1);},editRow: function (event) {let idx = event.target.dataset.idx;// let name = this.dataList[idx].name;// let age = this.dataList[idx].age;// let {id, name} = {id: 1, name: "武沛齐"};// console.log(id, name);let {name, age} = this.dataList[idx];this.user = name;this.age = age;this.title = "编辑";this.editIndex = idx;}}})
</script>
</body>
</html>>

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

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

相关文章

王道计算机网络课代表 - 考研计算机 第五章 传输层 究极精华总结笔记

本篇博客是考研期间学习王道课程 传送门 的笔记&#xff0c;以及一整年里对 计算机网络 知识点的理解的总结。希望对新一届的计算机考研人提供帮助&#xff01;&#xff01;&#xff01; 关于对 “传输层” 章节知识点总结的十分全面&#xff0c;涵括了《计算机网络》课程里的全…

MySQL 学习笔记(借鉴黑马程序员MySQL)

MySQL视频课链接 MySQL概述 数据库相关概念 数据库是存储数据的仓库&#xff0c;数据是有组织的进行存储&#xff08;DataBase&#xff09; 数据库管理系统是操纵和管理数据库的大型软件&#xff08;DataBase Management System&#xff09; SQL是操作关系型数据库的编程语…

_Linux (HTTP协议)

文章目录1. 认识URL2. urlencode和urldecode3. HTTP协议格式3-1. HTTP请求3-1. HTTP响应4. HTTP的方法5. HTTP的状态码6. TTP常见Header7. 最简单的HTTP服务器虽然我们说, 应用层协议是我们程序猿自己定的但实际上, 已经有大佬们定义了一些现成的, 又非常好用的应用层协议, 供我…

Android问题笔记 - 打开Android Studio先弹出项目选择框

专栏分享点击跳转>Unity3D特效百例点击跳转>案例项目实战源码点击跳转>游戏脚本-辅助自动化点击跳转>Android控件全解手册点击跳转>Scratch编程案例 &#x1f449;关于作者 众所周知&#xff0c;人生是一个漫长的流程&#xff0c;不断克服困难&#xff0c;不断…

【JavaWeb】Servlet基础

文章目录1.Tomcat服务器安装注意事项2.编写WebApp3.BS系统角色和协议4.模拟Servlet4.1模拟sun公司4.2模拟Tomcat服务器4.3模拟WebApp开发者5.开发一个带有Servlet的WebApp5.1创建一个名为crm的项目5.2 在项目中创建一个名为WEB-INF的文件&#xff08;必须&#xff09;5.3在WEB-…

MATLAB常用函数-gcf / gca / gco

MATLAB R2019a gcf: 返回当前图像对象的句柄值 语法&#xff1a; h gcf % 返回当前图像的句柄&#xff0c;如果没有图像&#xff0c;则会自动创建一个&#xff0c;然后返回其句柄 gca: 返回当前坐标轴对象的句柄值 语法&#xff1a; h gca % 返回当前图像中的当前坐标…

21_FreeRTOS内存管理

目录 FreeRTOS内存管理 FreeRTOS内存管理算法 内存管理相关API函数介绍 实验源码 FreeRTOS内存管理 在使用FreeRTOS创建任务、队列、信号量等对象的时,一般都提供了两种方法: 动态方法创建 自动地从 FreeRTOS 管理的内存堆中申请创建对象所需的内存&#xff0c;并且在对…

Git学习(1)pro git阅读

目录 目录&#xff1a; 1. 起步 2. Git 基础 3. Git 分支 4. 服务器上的 Git 5. 分布式 Git 第一章 1.3 Git是什么 1.6运行git前的配置 该开源图书网站 Git - Book (git-scm.com) 目录&#xff1a; 1. 起步 1.1 关于版本控制1.2 Git 简史1.3 Git 是什么&#xff1f;1…

卡方检验

一、卡方检验假设检验的一种&#xff0c;以实际观测值与期望值之间的偏离程度&#xff0c;解决是服从某个构成比率和是否具有相关性的问题。其偏离程度决定卡方值的大小&#xff0c;卡方值越小&#xff0c;偏差越小&#xff0c;实际值越趋于符合期望值。二、步骤在显著性为α0.…

Malware Dev 01 - 免杀之 PPID Spoofing 原理解析

写在最前 如果你是信息安全爱好者&#xff0c;如果你想考一些证书来提升自己的能力&#xff0c;那么欢迎大家来我的 Discord 频道 Northern Bay。邀请链接在这里&#xff1a; https://discord.gg/9XvvuFq9Wb我会提供备考过程中尽可能多的帮助&#xff0c;并分享学习和实践过程…

Active Directory管理帮助台

随着组织规模扩大&#xff0c;需要大幅增加Active Directory帮助台指派。随着组织开始在新地点开设办事处&#xff0c;管理员管理所有地点的用户变得极为繁琐。在这样的情况下&#xff0c;帮助台指派需要横跨不同的域以方便多域管理。尝试使用本机AD工具或PowerShell执行帮助台…

守护进程与TCP通讯

目录 一.守护进程 1.1进程组与会画 1.2守护进程 二.创建守护进程 setsid函数&#xff1a; 三. TCP通讯流程 3.1三次握手&#xff1a; 3.2 数据传输的过程 3.3四次挥手 一.守护进程 1.1进程组与会画 进程组&#xff1a;进程组由一个进程或者多个进程组成&#xff0c;每…

springcloud3 Nacos中namespace和group,dataId的联系

一 Namespance和group和dataId的联系 1.1 3者之间的联系 话不多说&#xff0c;上答案&#xff0c;如下图&#xff1a; namespance用于区分部署环境&#xff0c;group和dataId用于逻辑上区分两个目标对象。 二 案例&#xff1a;实现读取注册中心的不同环境下的配置文件 …

如何顺利渡过三月“大考”?ScanV为您献上“通关秘籍”

随着网络安全形势日益复杂、严峻&#xff0c;在重大安全保障事件期间&#xff0c;重要业务系统&#xff0c;尤其是党政机关、国企央企、能源、金融等重要的关基单位更应重视网站及业务系统安全。 临近三月重保季&#xff0c;知道创宇推出“御黑行动-典型案例篇”&#xff0c;以…

王道计算机网络课代表 - 考研计算机 第一章 计算机网络体系结构 究极精华总结笔记

本篇博客是考研期间学习王道课程 传送门 的笔记&#xff0c;以及一整年里对 计算机网络 知识点的理解的总结。希望对新一届的计算机考研人提供帮助&#xff01;&#xff01;&#xff01; 关于对 “计算机网络体系结构” 章节知识点总结的十分全面&#xff0c;涵括了《计算机网络…

【大话面试】- Redis 篇-第一篇

【大话面试】- Redis 篇-第一篇 认识 NoSQL SQL VS NoSQL 1️⃣ 结构化&#xff08;Structured&#xff09; SQL 的存储格式 NoSQL 从其存储的结构上来看&#xff0c;对于 SQL 数据库而言&#xff0c;我们可以给每一个表的属性添加不同的约束&#xff08;主键唯一&#xff…

分布式任务处理

分布式任务处理 1. 什么是分布式任务调度 视频上传成功需要对视频的格式进行处理&#xff0c;如何用Java程序对视频进行处理呢&#xff1f;这里有一个关键的需求就是当视频比较多的时候我们如何可以高效处理。 如何去高效处理一批任务呢&#xff1f; 1、多线程 多线程是充…

java易错题锦集系列五

接口中不能有构造方法&#xff0c;抽象类中可以有。抽象类中构造方法作用&#xff1a;初始化抽象类的成员&#xff1b;为继承它的子类使用 定义在同一个包&#xff08;package&#xff09;内的类是可以不经过import而直接相互使用 final修饰的方法可以被重载 但不能被重写 从…

线性插值基本原理推导

线性插值基本原理1. 为什么使用线性插值&#xff1f;2. 单线性插值2.1 单线性插值推导3.多线性插值3.1 多线性插值推导注意事项3.2 多线性插值推导3.3 插入坐标越远权重越大1. 为什么使用线性插值&#xff1f; 在深度学习对图片进行上采样和下采样的时候会应用到线性插值 对图…

TypeScript 使用 ES6 解构骚操作

TypeScript 使用 ES6 解构骚操作 文章目录TypeScript 使用 ES6 解构骚操作一、TypeScript 对象解构二、TypeScript 函数参数解构四、参考资料&#x1f498;五、推荐博文&#x1f357;一、TypeScript 对象解构 我们都知道 ES6 的数据解构功能很强大&#xff0c;一行命令就能够声…