Vue快速入门教程

什么是Vue?

1,vue是一套前端框架,免除原生JavaScrip中dom操作,简化书写。
2,给予MVVM(Model-View-ViewModel)思想,实现数据的双向绑定,将编程的关注点放在数据上
官网: https://v2.cn.vuejs.org

Model数据模型,数据和数据的处理方法

View 视图层,就是dom,最后展示在前端上的。

关键的是viewmodel

在这里插入图片描述

Vue快速入门

代码

<!DOCTYPE html>
<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>Vue 快速入门</title><!-- 引入vue.js --><script src="js/vue.js"></script>
</head>
<body><div id="app"><input type="text" v-model="message">{{message}}</div></body>
<script>//定义Vue对象new Vue({el: "#app",  //vue接管的区域data:{message: "Hello Vue"}// data定义的数据模型})</script></html>

实现

双向数据绑定
在这里插入图片描述

数据模型的数据会展示到视图层中。视图层中的数据变化会导致数据模型的数据变化。数据模型的数据变化也会导致视图层的数据变化。这就是双向绑定相互影响。

Vue常用指令

v-bind和v-model

在这里插入图片描述

v-bind和v-model都是绑定元素。v-bind绑定属性,v-model绑定表单。

代码

<!DOCTYPE html>
<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>Vue-指令-v-bind</title><script src="js/vue.js"></script>
</head>
<body><div id="app"><!-- 动态绑定 --><a v-bind:href="url">链接1</a><!-- 简略写法 --><a :href="url">链接2</a><input type="text" name="" id="" v-model="url"></div>
</body>
<script>//定义Vue对象new Vue({el: "#app", //vue接管区域data:{url: "https://www.baidu.com"}})
</script>
</html>

实现

在这里插入图片描述

由于双向绑定,修改输入框的内容也会导致v-bind url 的内容发生改变
在这里插入图片描述

v-on

在这里插入图片描述

代码

<!DOCTYPE html>
<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>Vue-指令-v-on</title><script src="js/vue.js"></script>
</head>
<body><div id="app"><!-- v-on 绑定 clink事件,绑定到handle函数中 --><input type="button" value="点我一下" v-on:click="handle()" ><!-- 省略的写法@click --><input type="button" value="点我一下" @click="handle" ></div>
</body>
<script>//定义Vue对象new Vue({el: "#app", //vue接管区域data:{},methods: {handle: function(){alert("你点我了一下....");        }}})
</script>
</html>

实现

定义函数要放到methods中
在这里插入图片描述

vue条件判断

常用的判断和循环指令
在这里插入图片描述

v-if 和 v-show


v-if通过逻辑判断选择渲染,v-show是用过display浏览器选择渲染实际上数据前端都有

代码

<!DOCTYPE html>
<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>Vue-指令-v-if与v-show</title><script src="js/vue.js"></script>
</head>
<body><div id="app">年龄<input type="text" v-model="age">经判定,为:<span v-if="age <= 35">年轻人(35及以下)</span><span v-else-if="age>35 && age<=60">中年人(35-60)</span><span v-else>老年人(60及以上)</span><br><br>年龄<input type="text" v-model="age">经判定,为:<span v-show="age <= 35">年轻人(35及以下)</span><span v-show="age>35 && age<=60">中年人(35-60)</span><span v-show="age>60">老年人(60及以上)</span></div>
</body>
<script>//定义Vue对象new Vue({el: "#app", //vue接管区域data:{age: 20},methods: {}})
</script>
</html>

实现

在这里插入图片描述


v-for

在这里插入图片描述

代码

遍历数组addrs

<!DOCTYPE html>
<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>Vue-指令-v-for</title><script src="js/vue.js"></script>
</head>
<body><div id="app"><div v-for="addr in addrs">{{addr}}</div><hr><div v-for="(addr,index) in addrs">{{index+1}} {{addr}}</div></div>
</body>
<script>//定义Vue对象new Vue({el: "#app", //vue接管区域data:{addrs:["北京", "上海", "西安", "成都", "深圳", "杭州"]},methods: {}})
</script>
</html>

实现

在这里插入图片描述

Vue小案例

目标

在这里插入图片描述

代码

<!DOCTYPE html>
<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>Vue-指令-案例</title><script src="js/vue.js"></script>
</head>
<body><div id="app"><table border="1" cellspacing="0" width="60%"><tr><th>编号</th><th>姓名</th><th>年龄</th><th>性别</th><th>成绩</th><th>等级</th></tr><tr align="center" v-for="(user, index) in users"><td>{{index+1}}</td><td>{{user.name}}</td><td>{{user.age}}</td><td><span v-if="user.gender == 1"></span><span v-if="user.gender == 2"></span></td><td>{{user.score}}</td><td><span v-if="user.score >= 85">优秀</span><span v-else-if="user.score < 85 && user.score >=60">及格</span><span style="color: red;" v-else>不及格</span></td></tr></table></div></body><script>new Vue({el: "#app",data: {users: [{name: "Tom",age: 20,gender: 1,score: 78},{name: "Rose",age: 18,gender: 2,score: 86},{name: "Jerry",age: 26,gender: 1,score: 90},{name: "Tony",age: 30,gender: 1,score: 52}]},methods: {},})
</script>
</html>

实现

在这里插入图片描述

vue生命周期

在这里插入图片描述
在这里插入图片描述

案例(mounted)

挂载钩子,然后执行一个alert函数

代码

<!DOCTYPE html>
<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>Vue-指令-v-for</title><script src="js/vue.js"></script>
</head>
<body><div id="app"></div>
</body>
<script>//定义Vue对象new Vue({el: "#app", //vue接管区域data:{},methods: {},mounted () {alert("vue挂载完成,发送请求到服务端")}})
</script>
</html>

实现

在这里插入图片描述

参考文章

参考文章:https://www.bilibili.com/video/BV1m84y1w7Tb

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

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

相关文章

如何查询川菜食材配料的API接口

在当今的美食文化中&#xff0c;菜谱不只是一张简单的食谱&#xff0c;更是了解美食文化和饮食知识的重要途径。然而&#xff0c;若没有准确的食材配料&#xff0c;烹制出的每道菜品都将难以达到完美的味道。因此&#xff0c;为了更好地满足人们对于菜谱和食谱的需求&#xff0…

Java王者荣耀火柴人

主要功能 键盘W,A,S,D键&#xff1a;控制玩家上下左右移动。按钮一&#xff1a;控制英雄发射一个矩形攻击红方小兵。按钮控制英雄发射魅惑技能&#xff0c;伤害小兵并让小兵停止移动。技能三&#xff1a;攻击多个敌人并让小兵停止移动。普攻&#xff1a;对小兵造成基础伤害。小…

痤疮分割 实验心路历程

数据集的制作 将labelme生成的标注文件记普通的json文件转成coco数据集格式的json文件 图像分辨率过大 如果不做任何调整&#xff1a; 会出现“killed”的报错&#xff0c;表示图片像素过大&#xff0c;显卡内存不够&#xff0c;无法支撑训练 显卡 换成更高性能的显卡&am…

at least 1 bean which qualifies as autowire candidate

No qualifying bean of type com. spdbcccdl.mapper.dl.DatabaseDaoavailable: expected at least 1 bean which qualifies as autowire candidate.

修复录制异常终止导致的 MP4 文件损坏(moov atom not found)

如果录制视频时异常退出&#xff08;蓝屏死机、程序崩溃等&#xff09;&#xff0c;会导致录制的 MP4 文件损坏无法打开。 在这里简单记录一下解决方法。 1 首先尝试用 ffmpeg。运行 ffmpeg -i <损坏文件> -c copy <输出路径>看看能不能正常运行。 如果不能&am…

每日一博 - Cache Miss Attack

文章目录 概述解决思路缓存空值键并设置短期 TTL&#xff08;生存时间&#xff09;使用布隆过滤器 伪代码1. 缓存空值键并设置短期 TTLa. 缓存空值键b. 设置短期 TTL 2. 使用布隆过滤器a. 集成布隆过滤器b. 查询布隆过滤器 进一步优化系统性能的建议 概述 在缓存管理中&#x…

基于Springboot+mybatis+mysql+jsp招聘网站

基于Springbootmybatismysqljsp招聘网站 一、系统介绍二、功能展示四、其他系统实现五、获取源码 一、系统介绍 项目类型&#xff1a;Java EE项目 项目名称&#xff1a;基于SPringBoot的照片网站 项目架构&#xff1a;B/S架构 开发语言&#xff1a;Java语言 前端技术&…

重磅!2023中国高校计算机大赛-人工智能创意赛结果出炉

目录 中国计算机大赛-人工智能创意赛现场C4-AI大赛颁奖及留影800个AI应用&#xff1f;这届大学生真能“搞事情”AI原生时代&#xff0c;百度要再培养500万大模型人才 中国计算机大赛-人工智能创意赛现场 12月8日&#xff0c;杭州&#xff0c;一位“白发老人”突然摔倒在地&…

【每日一题】【12.11】1631.最小体力消耗路径

1631. 最小体力消耗路径https://leetcode.cn/problems/path-with-minimum-effort/这道题目的核心思路是&#xff1a;使用了二分查找和BFS &#xff08;深度优先遍历&#xff09;结合的方式来解决路径搜索问题&#xff0c;在每一次二分查找中&#xff0c;通过 BFS 来检查是否存在…

viple与物理机器人(一):线控模拟

为了检测viple程序与物理机器人是否能顺利连接上 如果能顺利连接上&#xff0c;那么&#xff0c;可以通过内建事件从而控制物理机器人的前进、后退、左转、右转以及暂停。 如果不能连接上&#xff0c;首先&#xff0c;程序无法控制物理机器人&#xff0c;其次&#xff0c;当vip…

volatile 关键字的作用(变量可见性、禁止重排序)

volatile 关键字的作用&#xff08;变量可见性、禁止重排序&#xff09; Java 语言提供了一种稍弱的同步机制&#xff0c;即 volatile 变量&#xff0c;用来确保将变量的更新操作通知到其他线程。volatile 变量具备两种特性&#xff0c;volatile 变量不会被缓存在寄存器或者对…

在做题中学习(31):电话号码的字母组合(全排列)

17. 电话号码的字母组合 - 力扣&#xff08;LeetCode&#xff09; 思路&#xff1a;既然要排列组合&#xff0c;就得先根据数字字符取出来 所以先定义一个string类的数组通过下标取到每个数字对应的映射。 string _numsTostr[10]{"","","abc"…