Vue基础必备掌握知识点-Vue的指令系统讲解

什么是Vue?

Vue的概念

Vue是一个用于构建用户界面的渐进式框架(通过数据渲染出用户所能够看到的界面)

Vue的两种使用方式

1:Vue核心包开发

        场景:局部模块的改造

2:Vue核心包&Vue工程化的开发

        场景:整站开发

Vue开发的优缺点:

优点 :提高开发的效率,约提高70%之上,一套完整的项目解决方案

缺点:需要使用Vue框架的规则去实现,需要去记忆

你如果学过Java语言,那么你在学习这套框架,就会轻松一点,很多的知识点一看就能够看懂,不学过也没有关系,Vue框架规则十分的通俗易懂。

学习进入Vue世界的第一个案例:

直接上代码:

将数据渲染在页面上

body><!-- 第一步:准备容器 --><div id="app">{{msg}}</div><!-- 第二步:引包(官网):有两种版本,开发版本/生产版本:两种版本的应用场景不同 --><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script><!-- 第三步:创建Vue实例 --><script>const app  = new Vue({// el指定挂载点el: '#app',// data方法是提供数据data:{msg:"不想睡醒的梦"}})</script>
</body>

运行页面

Vue指令

Vue会根据不同的指令实现不同的功能,Vue拥有着自身的一套规则

指令:带有v-前缀的特殊标签属性

<!--普通标签的属性-->
<div class="demo1"> </div>
<!--Vue框架的标签的属性-->
<div v-html="demo1"></div>

v-html:

作用:设置元素的InnerHTML(Html中的标签内容)

语法:v-html="表达式"

代码演示:代码实现的功能就是超链接

<body>
<div id="demo1"><div v-html="msg"></div>
</div>
<script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>
<script>//引入了const app = new Vue({el:'#demo1',data:{msg: '<a href="https://blog.csdn.net/m0_52479012?spm=1000.2115.3001.5343">"不想睡醒的梦"主页</a>'}})
</script>    
</body>

运行结果:点击链接就会实现网页的跳转

v-show与v-if两者有着异曲同工之妙

v-show:控制着元素的显示或者藏

语法:v-show="表达式" 布尔值,true显示,false则隐藏

v-if:通过条件去渲染元素

语法:v-if="表达式" 布尔值,true显示,false则隐藏

代码演示:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box1{height: 100px;width: 200px;border-radius: 5px;box-shadow: 2px 2px 2px #ccc;border: 2px solid black;text-align: center;line-height: 100px;}.box2{margin-top: 10px;height: 100px;width: 200px;border-radius: 5px;box-shadow: 2px 2px 2px #ccc;border: 2px solid black;text-align: center;line-height: 100px;}</style>
</head>
<body><div id="app"><div v-show="flag" class="box1">v-show控制的盒子</div><div v-if="flag" class="box2">v-if控制的盒子</div></div><script src="https://cdn.jsdelivr.net/npm/vue@2/dist/vue.js"></script><script>const app = new Vue({el:'#app',data:{flag:true}})</script>
</body>
</html>

运行结果:

如果是隐藏,那么这两个的底层代码又有什么区别呢?

将flag:值,改为false

当需要隐藏时,发现了原始代码的变化得知

 v-show与v-if的底层原理

v-show:切换css的display:none来控制显示隐藏

v-if:根据判断条件判断控制元素的创建和移除

v-else和v-else-if

与上面讲解的v-if配合着使用,进行判断渲染

语法:v-else v-else-if="表达式"

通过案例去学习指令:成绩判断

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><div id="app"><!-- 性别进行判断 --><p v-if="gender===1">男</p><p v-else>女</p><hr><p v-if="score>=90">成绩:A</p><p v-else-if="score>=70">成绩:B</p><p v-else-if="score>=60">成绩:C</p><p v-else=>成绩不合格</p></div><script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script><script>const app = new Vue({el:'#app',data:{gender:2,score:80}})</script>
</body>
</html>

运行代码:

v-on:

作用:注册事件 = 添加监听 +提供处理逻辑

语法:

        1): v-on:事件名="内联语句"(例如: v-on:click="gendar--"点击事件

        2):v-on:事件名="methods中的函数名"(例如:<button @click="buy(3)">可乐</button> :按钮点击事件与方法连在一起

实例代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script><div id="app"><!--按钮点击:实现数字的减少  --><button v-on:click="gendar--">-</button><!-- 当箭头放在按钮上实现数字的减少 --><button @mouseenter="gendar--">-</button>{{gendar}}<!--按钮点击:实现数字的添加  --><button v-on:click="gendar++">+</button><!-- 当箭头放在按钮上实现数字的添加 --><button @mouseenter="gendar++">+</button><!-- 点击事件链接在methods中的方法:控制内容的显示或者隐藏 --><button @click="fn">显示</button><h1 v-show="isshow">不想睡醒的梦</h1><!-- 案例:实现购买饮料业务(传参)  --><button @click="buy(3)">可乐</button><button @click="buy(5)">雪碧</button><button @click="buy(10)">美年达</button><p>余额:{{money}}</p></div><script>const app = new Vue({el:'#app',data:{gendar:2,isshow :true,money:1000},methods: {fn(){this.isshow = !app.isshow},buy(price){this.money -=price}}})</script>
</body>
</html>

      

运行结果:

 v-bind

作用:动态的设置html的标签属性例如:src url title 等标签

语法:v-bind:属性名="表达式"

案例实现:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><div id="demo1"><img v-bind:src="img" v-bind:title="title" alt=""><!-- 更加简单的写法 --><img :src="img" :title="title" alt=""></div><script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script><script>const app = new Vue({el:"#demo1",data:{img:"C:/Users/lenovo/Desktop/641.jpeg",title:"休闲时间"}})</script>
</body>
</html>

运行结果:

通过对上边的学习,写一个案例

翻页式图片浏览:就是看书翻页,将内容改成图片

案例实现:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style type="text/css">img{height: 100px;width: 200px;}</style>
</head>
<body><div id="app"><button v-show="index > 0" @click="index--">上一页</button><div><img :src="list[index]" alt="index"></div><button v-show="index < list.length - 1" @click="index++">下一页</button><h3>美女合集</h3></div><script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script><script>const app = new Vue({el:'#app',data:{index:0,list:['./picture/1.jpg','./picture/2.jpg','./picture/3.jpg','./picture/4.jpg','./picture/5.jpg','./picture/6.jpg','./picture/7.jpg','./picture/8.jpg','./picture/9.jpg',]}})</script>
</body>
</html>

运行结果:

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

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

相关文章

安装virt-manger虚拟机管理器

环境&#xff1a; redhat7:192.168.1.130 安装步骤&#xff1a; 安装qemu-kvm yum install -y qemu-kvm安装libvirt yum install -y libvirt重启libvirt systemctl restart libvirtd查看libvirt的版本信息 virsh version安装virt-manager yum install -y virt-manager检验…

OCR转换技巧:如何避免图片转Word时出现多余的换行?

在将图片中的文字识别转换为Word文档时&#xff0c;我们很多时候时会遇到识别内容的一个自然段还没结束就换行的问题&#xff0c;这些就是我们常说的多余换行的问题。为什么会产生这个问题呢&#xff1f;主要是由于OCR返回的识别结果是按图片上的文字换行而换行&#xff0c;而不…

知识竞赛中常用的物料有哪些

办一场知识竞赛&#xff0c;需要准备的物料要根据具体竞赛规则和流程来定。但是要仔细分析起来&#xff0c;还是可以做一个常用物料清单的&#xff0c;下面我将知识竞赛活动中常用的物料做了一个分类和列表&#xff0c;大家以后在竞赛活动举办过程中&#xff0c;可以参考。 一、…

【STM32】定时器+基本定时器

一、定时器的基本概述 1.软件定时器原理 原来我们使用51单片机的时候&#xff0c;是通过一个__nop()__来进行延时 我们通过软件的方式来进行延时功能是不准确的&#xff0c;受到很多不确定因素。 2.定时器原理&#xff1a;计数之间的比值 因为使用软件延时受到影响&#xff0c…

IntelliJ IDEA 安装 GitHub Copilot插件 (最新)

注意&#xff1a; GitHub Copilot 插件对IDEA最低版本要求是2021.2&#xff0c;建议直接用2023.3&#xff0c;一次到位反正后续要升级的。 各个版本的依赖关系&#xff0c;请参照&#xff1a; ##在线安装&#xff1a; 打开 IntelliJ IDEA扩展商店&#xff0c;输入 "Git…

HTML 之常用标签的介绍

文章目录 h标签p标签a标签img 标签table、tr、td标签ul、ol、li 标签div 标签 h标签 <h> 标签用于定义 HTML 文档中的标题&#xff0c;其中 h 后面跟着一个数字&#xff0c;表示标题的级别。HTML 提供了 <h1> 到 <h6> 六个不同级别的标题&#xff0c;其中 &…

[C++]Leetcode17电话号码的字母组合

题目描述 解题思路&#xff1a; 这是一个深度优先遍历的题目&#xff0c;涉及到多路递归&#xff0c;下面通过画图和解析来分析这道题。 首先说到的是映射关系&#xff0c;那么我们就可以通过一个字符串数组来表示映射关系&#xff08;字符串下标访问对应着数字映射到对应的…

打破语言壁垒,实现全球商贸:多语言多商户跨境商城源码引领电商新潮流

随着全球化的不断深入&#xff0c;电子商务的蓬勃发展&#xff0c;传统的单语言电商模式已经无法满足日益多元化的市场需求。多语言多商户跨境商城源码&#xff0c;一种创新的电商解决方案&#xff0c;应运而生。它打破了语言和地域的限制&#xff0c;让全球的商家和消费者都能…

这 11 个 for 循环优化你得会

日常开发中&#xff0c;经常会遇到一些循环耗时计算的操作&#xff0c;一般也都会采用 for 循环来处理&#xff0c;for 作为编程入门基础&#xff0c;主要是处理重复的计算操作&#xff0c;虽然简单好用&#xff0c;但在写法上也有很多的考究&#xff0c;如果处理不好&#xff…

时间序列预测实战(十五)PyTorch实现GRU模型长期预测并可视化结果

往期回顾&#xff1a;时间序列预测专栏——包含上百种时间序列模型带你从入门到精通时间序列预测 一、本文介绍 本文讲解的实战内容是GRU(门控循环单元)&#xff0c;本文的实战内容通过时间序列领域最经典的数据集——电力负荷数据集为例&#xff0c;深入的了解GRU的基本原理和…

百度智能云千帆大模型平台再升级,SDK版本开源发布!

&#x1f4eb;作者简介&#xff1a;小明java问道之路&#xff0c;2022年度博客之星全国TOP3&#xff0c;专注于后端、中间件、计算机底层、架构设计演进与稳定性建设优化&#xff0c;文章内容兼具广度、深度、大厂技术方案&#xff0c;对待技术喜欢推理加验证&#xff0c;就职于…

设置虚拟机静态IP

1、修改配置文件 /etc/sysconfig/network-scripts/ifcfg-ens160 将BOOTPROTOdhcp改为static&#xff0c;天机IPADDR192.168.10.13 2、重启网络服务 systemctl restart network