Vue的常见指令

目录

1.v-bind

2. class绑定

3.style绑定

4.v-if/v-show

 


1.v-bind

        v-bind指令用于绑定属性 可以简写成 “   :”

        它的作用就是我们可以动态的定义属性的值,比如常见的<img src = "1.jpg">

        我们如果想要修改图片就需要获取到DOM对象,然后再重新填充,但是如果使用v-bind,

        我们就可以动态的生成src属性值。

下面我们将实现图片切换的效果:

<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><div id="app" ><img v-bind:src = "path" :style="{width:width , height:height}"><br><button @click = "change()">切换图片</button></div><script type="text/javascript" src="vue.global.js"></script><script>// 1.创建appconst app = Vue.createApp({// data: option apidata: function() {return {path:"images/1.jpg",width:100,height:100}},methods:{change(){if(this.path==="images/1.jpg"){this.path = "images/2.jpg"}else{this.path = "images/1.jpg"}}}})// 2.挂载appapp.mount("#app")</script>
</body>
</html>

它的逻辑关系如下:

所以说,vue主要是实现对数据的操作,而js是对DOM对象的操作

 

2. class绑定

        class是表示类选择器,常用的还有id选择器等。

        v-bind同样可以绑定class,只是写法略有不同。

        接下来,我们实现经常在网页上看见的多选项选择时,选到哪个,哪个就会高亮显示。

        代码如下:

<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><style>li{width: 50px;height: 25px;display: block;float: left;background-color: #999;border: 1px solid;padding-left: 5px;}.red{background-color: red;}</style><div id="app"><ul><li :class="{red:num==1}" @click = "change(1)">选项1</li><li :class="{red:num==2}" @click = "change(2)">选项2</li><li :class="{red:num==3}" @click = "change(3)">选项3</li></ul></div><script type="text/javascript" src="vue.global.js"></script><script>// 1.创建appconst app = Vue.createApp({// data: option apidata: function() {return {num:1}},methods:{change(num){this.num = num}}})// 2.挂载appapp.mount("#app")</script>
</body>
</html>

        执行逻辑如下:

3.style绑定

        style表示样式,同样我们也可以用vue绑定style,实现样式属性的动态生成。

我们实现一个按钮控制一个div盒子的长宽高,颜色等样式,示例如下:

<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><style>li{width: 40px;height: 20px;border: 2px , solid;background-color: #999;float: left;display: block;}#context{clear: both;border: 1px solid;width: 100px;height: 100px;background-color: aqua;margin-left: 40px;}li:hover{background-color: red;}</style><div id="app"><ul><li @click = "change(0)">变宽</li><li @click = "change(1)">变高</li><li @click = "change(2)">变色</li><li @click = "change(3)">隐藏</li><li @click = "change(4)">重置</li></ul><div id="context"  :style="{width:width , height:height,'background-color':color,display:none}"></div></div><script type="text/javascript" src="../vue.global.js"></script><script>// 1.创建appconst app = Vue.createApp({// data: option apidata: function() {return {width:100 , height:100 , color:'aqua' , none:'block'}},methods:{change(num){if(num==0){this.width = this.width+10}if(num==1){this.height = this.height+10}if(num ==2){this.color = 'red' ; }if(num==3){this.none = 'none' ; }if(num==4){this.width = 100 ; this.height = 100 ; this.color = 'aqua';this.none = 'block'}}}})// 2.挂载appapp.mount("#app")</script>
</body>
</html>

 实现逻辑:

效果展示:

4.v-if/v-show

        v-if 指令 条件渲染.如果条件为true,那么它会生成一个DOM元素并且插入;

        如果为false,那么直接连DOM元素都不生成。

        v-show作用和v-if一样,只是当它为true或者false都会生成DOM对象;

        只是当然为false时,会把DOM对象隐藏起来。

示例:实现点击哪个按钮显示对应的内容,其他的内容会被隐藏,效果如下:

实现代码如下:

<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>使用v-if实现元素的显示与隐藏</title>
</head>
<body><style>.red{background-color: red;}ul , li{float: left;display: block;margin-left: 10px;background: color #999;}li{border: 1px red;height: 30px;width: 100px;text-align: center;}li:hover{background-color: red;}#context{clear: both;}</style><div id="title"><ul><li :class="{red:flag==0}" @click ="change(0)">清纯男大</li><li :class="{red:flag==1}" @click="change(1)">油腻骚男</li><li :class="{red:flag==2}" @click="change(2)">怀院校草</li></ul><ul id="context"><li v-if="flag==0">刘驰宇</li><li v-if="flag==1">李杭涛</li><li v-show="flag==2">黄嘉乐</li></ul></div><script type="text/javascript" src="../vue.global.js"></script><script>// 1.创建appconst app = Vue.createApp({// data: option apidata: function() {return{flag : 0}},methods:{change(flag){this.flag = flag;}}})// 2.挂载appapp.mount("#title")</script>
</body>
</html>

主要逻辑如下:

 

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

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

相关文章

蓝卓创始人褚健:工业互联网平台技术赋能中小企业数字化转型的实施路径

工业4.0是由工业软件驱动的工业革命&#xff0c;与传统厚重的工业软件不同&#xff0c;supOS就好比嵌入工厂的“安卓系统”。如果把一个工厂当作一台手机&#xff0c;因为有安卓或苹果开放的操作系统&#xff0c;吸引了全世界聪明的人开发了大量APP供人们使用&#xff0c;手机才…

Backend - visual studio 安装配置运行

目录 一、安装 &#xff08;一&#xff09;visual studio的内存需求很大&#xff01; &#xff08;二&#xff09;自定义工具和SDK的安装位置 1. 菜单栏搜索regedit&#xff0c;进入注册表编辑器 2. 修改SharedInstallationPath项的路径 3. 重启电脑 4. 重新打开visual studio …

物联网系统中市电电量计量方案(二)

上文我们主要介绍了电量计量中最重要的组成部分——电量计量芯片&#xff08;如果没有阅读该文章的&#xff0c;可以点击这里&#xff09;。本文会再为大家介绍电量计量的另外一个组成部分——电流互感器。 电流互感器的定义 电流互感器是一种可将一次侧大电流转换为二次侧小电…

智慧校园科研管理:论文管理提升学术影响力

在智慧校园科研管理平台中&#xff0c;论文信息管理模块扮演着连接学术创新与管理效率的桥梁角色&#xff0c;它精心设计了一系列功能&#xff0c;旨在促进学术成果的高效记录、跟踪、分享与评估&#xff0c;为科研工作者、管理人员及全体师生构建了一个协同合作的学术生态环境…

蓝卓创始人褚健:未来工厂需要一个“工业安卓”

作为国内自动控制的科学家&#xff0c;过去近三十年的时间&#xff0c;褚健教授一直服务于化工行业、炼油石化等流程工业领域。褚健表示&#xff0c;因为涉及到安全生产和环保要求&#xff0c;流程工业企业的自动化水平高一些&#xff0c;但总体来看&#xff0c;目前中国大部分…

原生小程序生成二维码并保存到本地

需求&#xff1a;我要在一个页面中生成一个二维码&#xff0c;并且这个二维码可以长按保存到本地或者发送给好友&#xff1b; 我这里是将生成的canvas二维码转换成图片&#xff0c;利用长按图片进行保存或转发 效果图&#xff1a; 第一步先下载对应的包&#xff1a; npm instal…

防火墙综合实验1

实验拓扑图&#xff1a; 实验需求&#xff1a; 1、DMZ区内的服务器&#xff0c;办公区仅能在办公时间内(9:00-18:00)可以访问&#xff0c;生产区的设备全天可以访问。 2、生产区不允许访问互联网&#xff0c;办公区和游客区允许访问互联网。 3、办公区设备10.0.2.10不允许访问…

rancher管理多个集群

一、rancher部署 单独部署到一台机器上&#xff0c;及独立于k8s集群之外&#xff1a; 删除所有yum源&#xff0c;重新建yum源&#xff1a; # 建centos7.9的yum源 # cat CentOS-Base.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of the …

Java面向对象进阶篇综合训练(附带全套源代码及逐语句分析)->基于javabeen

一、前言 面向对象这一块也要结束了&#xff0c;不知道读者们掌握的如何呢。不过面向对象的路程远不止于此&#xff0c;可以利用面向对象来做一些小型的系统来巩固一下。接下来就进入新的章节了&#xff0c;回顾一下这已经是第五天了&#xff0c;之前说的7天拿下java还是太过于…

LLaMA-Factory:开源的低代码大模型训练框架

LLaMA-Factory 是一个由零隙智能&#xff08;SeamLessAI&#xff09;开源的低代码大模型训练框架&#xff0c;它集成了业界最广泛使用的微调方法和优化技术&#xff0c;并支持众多开源模型的微调和二次训练。 一、功能特点 支持多种开源模型&#xff1a;LLaMA-Factory支持包括…

辐射神经场算法——Instant-NGP / Mipi-NeRF 360 / 3D Gaussian Splatting

辐射神经场算法——Instant-NGP / Mipi-NeRF 360 / 3D Gaussian Splatting 1. Instant-NGP1. MultiResolution Hash Encoding1.2 Accelerated Ray Marching1.3 实验结果 2. Mip-NeRF 3602.1 场景参数化2.2 在线蒸馏2.3 失真正则化2.4 实验结果 3. 3D Gaussian Splatting3.1 Dif…

krpano开启日志公能

<krpano version"1.21" title"博物馆" debugmode"true" > 之后鼠标右键菜单栏最后一行 点击&#xff08;开启后会发生变化&#xff09;。

汽车预约维修小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;技师管理&#xff0c;技师信息管理&#xff0c;用户预约管理&#xff0c;取消预约管理&#xff0c;订单信息管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;技师信息&a…

新开发的软件老被系统拦截有什么办法解决吗?

一套新开发的软件要想在windows操作系统畅通无阻&#xff0c;那就需要使用代码签名证书&#xff0c;只要是对软件进行实名从而证明软件发布者身份&#xff0c;确保该软件是一个合法有效的主体开发的&#xff0c;也是让这个软件开发者承担相应的责任。 特别主要如果要获得即时性…

【深度学习入门篇 ③】PyTorch的数据加载

【&#x1f34a; 易编橙&#xff1a;一个帮助编程小伙伴少走弯路的终身成长社群&#x1f34a; 】 大家好&#xff0c;我是小森( &#xfe61;ˆoˆ&#xfe61; ) &#xff01; 易编橙终身成长社群创始团队嘉宾&#xff0c;橙似锦计划领衔成员、阿里云专家博主、腾讯云内容共创…

【漏洞复现】宏景HCM-LoadOtherTreeServlet SQL注入

声明&#xff1a;本文档或演示材料仅用于教育和教学目的。如果任何个人或组织利用本文档中的信息进行非法活动&#xff0c;将与本文档的作者或发布者无关。 一、漏洞描述 宏景HCM人力资源信息管理系统是一个全面的人力资源管理软件&#xff0c;它覆盖了人力资源管理的各个模块…

华为官方出品:《应用现代化实践指南》电子书,可免费下载

本期云享书库为各位开发者带来了应用现代化方面的技术内容。 在数字化时代&#xff0c;企业面临着前所未有的机遇与挑战。随着技术的飞速发展&#xff0c;特别是云计算、大数据、人工智能&#xff08;AI&#xff09;和机器学习&#xff08;ML&#xff09;的兴起&#xff0c;正…

Python爬虫速成之路(1):获取网页源代码

hello hello~ &#xff0c;这里是绝命Coding——老白~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#xff1a;绝命Coding-CSDN博客 &a…

Threadlocal使用获取最后更新人信息

Threadlocal 的作用范围是一个线程&#xff0c;tomcat启动默认开启一个线程 首先点击登录&#xff0c;登录方法会返回token 拿到token后放在请求头中发送商品的插入请求&#xff0c;在插入是设置拿到token中的nickName&#xff08;花名&#xff09;放入&#xff08;lastUpdate…

windows系统长时间不用,无法唤醒

问题背景 在我们使用windows系统的时候&#xff0c;有这样一种情况&#xff0c;就是电脑长时间不不操作&#xff0c;就会“睡死”过去。此时再用鼠标键盘都无法将其唤醒。没办法只能长按电源键强制关机&#xff0c;再重启。那么该如何解决这种问题呢&#xff1f; 原因分析 系…