十分钟上手vue!

Vue 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。

一 vue.js的导入及使用

vue安装有三种方式:

1.独立版本:我们可以在 Vue.js 的官网上直接下载 vue.min.js 并用 <script> 标签引入

2.使用 CDN 方法

3.NPM 方法

由于国内CDN都不是很稳定, npm安装又很慢(一般都会使用淘宝镜像),相对而言都比较麻烦,因此我们这里使用第一种方法,也就是直接通过<script>标签引用。

我们可以直接从v2.vuejs.org/js/vue.min.js下载,也可以通过本文下载资源。

下载完成后,我们就可以得到一个js文件。它的使用方式和其他js文件是一样的,我们可以在VS code中创建一个html页面,通过 <script>引入

 接下来,我们需要定义一个vue对象,并指定其接管的对象,需要注意这里的 <script>需要在body之后。

<script>// 定义vue对象new Vue({el:"#app", // vue接管的对象data:{} ,methods: {}})
</script>

el所指定的就是vue接管的对象,可以是id,也可以是class,data内是各种数据信息,methods存放的是各种函数。

 接下来让我们简单测试一下:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><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"><input type="text" v-model="message"><div>{{message}}</div></div>
</body>
<script>// 定义vue对象new Vue({el:"#app", // vue接管的对象data:{message:"Hello Vue"} ,methods: {}})
</script>
</html>

 如果你的页面是这样,就说明引入成功了。细心的小伙伴们可能发现,当我们在输入框中输入内容时,下面div中的内容也随着改变了,这就是v-model的作用:实现双向绑定。

二 vue模板语法

1.文本(插值)

使用 {{...}}(双大括号)可以插入文本,文本内容需要提前在data中定义,如上例中的message

<div id="app"><p>{{ message }}</p>
</div>

2.Html

使用 v-html 指令用于输出 html 代码。

<div id="app"><div v-html="message"></div>
</div><script>
new Vue({el: '#app',data: {message: '<p>我是需要插入的内容</p>'}
})
</script>

3.属性

使用 v-bind 指令为标签绑定属性值,如设置样式等

通常我们直接省略掉v-bind

 <div id="app"><a v-bind:href="url">跳转到我的csdn</a><a :href="url">跳转到我的csdn</a></div>

4.双向绑定

使用v-model实现在表单元素上创建数据双向绑定。

<div id="app"><input type="text" v-model="message"><div>{{message}}</div>
</div>

5.事件绑定

v-on为标签绑定事件。可以简写为@。

 6.条件判断

v-if,v-else-if,v-else 条件性的渲染某元素,只渲染满足条件的元素

v-show 根据条件切换元素的display样式,决定是否展示该元素

<div>年龄<input type="text" v-model="age">经判断,为<span v-if="age<=35">年轻人</span><span v-else-if="age<=60 && age>35">中年人</span><span v-else>老年人</span>
</div>
<div>年龄<input type="text" v-model="age_2">经判断,为<span v-show="age_2<=35">年轻人</span><span v-show="age_2<=60 && age_2>35">中年人</span><span v-show="age_2>60">老年人</span>
</div>

7.循环遍历

v-for 列表渲染,遍历元素或者对象的属性。index为数组元素的索引值,从0开始。

<div v-for="(arr,index) in arr">{{index + 1}}:{{arr}}</div>

三  使用vue语句实现简单的表格渲染

要求说明:现有数据如下,请将该数据以表格的形式展现出来,如

users:[{name:"Tom",age:18,gender:1,score:78},{name:"Rose",age:16,gender:2,score:90},{name:"Jerry",age:16,gender:2,score:59},{name:"Jack",age:18,gender:1,score:90}
]

 分析:

观察数据,我们可以发现数据集是一个4行4列的表格,再加上编号值和等级评定,我们需要构建一个5*6的表格,但是表格除表头外,其他数据都可以从数组中获取到,因此我们可以只创建一个2*6的表格,使用v-for循环遍历数组内容,得到表格的主体部分

但是我们又发现,性别(gender)部分数组中是使用1和2进行标识的,但是我们肯定需要显示出来“男”和“女”,该怎么进行转换呢?我们自然想到了v-if和v-show,这里使用两者中的任何一个都可以。同样,等级评定也是需要我们根据成绩进行一下条件判断。

分析结束,接下来上代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>渲染表格内容</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-else>女</span></td><td>{{user.score}}</td><td><span v-show="user.score>= 90">优秀</span><span v-show="user.score>= 60 && user.score< 90">及格</span><span v-show="user.score< 60">不及格</span></td></tr></table></div>
</body>
<script>new Vue({el:"#app",data:{users:[{name:"Tom",age:18,gender:1,score:78},{name:"Rose",age:16,gender:2,score:90},{name:"Jerry",age:16,gender:2,score:59},{name:"Jack",age:18,gender:1,score:90}]} ,methods: {}})
</script>
</html>

总结:虽然从这个案例的代码量上看,似乎使用vue与单纯使用html创建表格几乎没什么区别,我们虽然少写了3行表格的内容,但是v-if,v-for....写了一堆,还需要去专门学习,是不是觉得很亏呢?但是我们的数组中只有4个用户数据,在实际应用中,用户数据量可远远不止这么多,哪怕仅仅以20人的班级为例,录入数据就能录入一天了吧。而使用vue,我们只要改变数组中的内容就可以了,减少了工作量不说,后期更新维护时无论新增还是删减都容易了很多。

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

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

相关文章

NLP入门系列—Attention 机制

NLP入门系列—Attention 机制 Attention 正在被越来越广泛的得到应用。尤其是 [BERT]火爆了之后。 Attention 到底有什么特别之处&#xff1f;他的原理和本质是什么&#xff1f;Attention都有哪些类型&#xff1f;本文将详细讲解Attention的方方面面。 Attention 的本质是什…

电气防火限流式保护器在可燃性粉尘危险场所的应用

摘要&#xff1a;文章阐述了可燃性粉尘的特点及可燃性粉尘环境粉尘爆炸的危害性&#xff0c;结合国家现行的电气产品规范的要求&#xff0c;通过一个提取车间内部粉尘爆炸危险区域的电气设计实例&#xff0c;系统阐述了可燃性粉尘危险环境的分区原则、电气设备选型、线路短路灭…

计算huggingface模型占用硬盘空间的实战代码

大家好,我是herosunly。985院校硕士毕业,现担任算法研究员一职,热衷于机器学习算法研究与应用。曾获得阿里云天池比赛第一名,CCF比赛第二名,科大讯飞比赛第三名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法…

在 Windows 10 上使用 Visual Studio 2022 进行 C++ 桌面开发

工具下载链接&#xff1a;https://pan.quark.cn/s/c70b23901ccb 环境介绍 在今天的快速发展的软件开发行业中&#xff0c;选择合适的开发环境是非常关键的一步。对于C开发人员来说&#xff0c;Visual Studio 2022&#xff08;VS2022&#xff09;是一个强大的集成开发环境&…

nba2k24 灌篮高手Q版流川枫面补

nba2k24 灌篮高手Q版流川枫面补 此面补nba2k23-nba2k24通用 下载地址&#xff1a; https://www.changyouzuhao.cn/9979.html

二叉树(1)

1 树概念及结构 1.1树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。 把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 有一个特殊的结点&a…

【C语言】大小写字母的相互转化:多种方法解析及原理说明

在 C 语言编程中&#xff0c;我们经常需要进行大小写字母的相互转化。这种转化可以用于实现字符串的大小写转换、字符的大小写比较等操作。本篇博客将介绍多种方法来实现大小写字母的相互转化&#xff0c;并说明其原理和使用场景。 目录 方法一&#xff1a;标准库函数 方法二…

开源软件:引领技术创新、商业模式与安全的融合

序 在信息技术日新月异的今天&#xff0c;开源软件以其独特的魅力和影响力&#xff0c;正逐渐成为软件产业的新常态。开源软件的低成本、高度可协作性和透明度等特点&#xff0c;不仅吸引了无数企业和个人用户的青睐&#xff0c;更为软件行业带来了前所未有的繁荣景象。 一、…

代码随想录 Leetcode93. 复原 IP 地址

题目&#xff1a; 代码(首刷看解析 2024年2月3日&#xff09;&#xff1a; class Solution { public:vector<string> res;bool Enligible(string& s, int left, int right) {if (left > right) return false;if (s[left] 0 && left ! right) return fal…

wasm 在web中最小胶水代码; 报错Imports argument must be present and must be an object

加载和运行 WebAssembly 代码 我试过了没成功&#xff0c;代码裁剪有点严重 加载WebAssembly的两个新的API 新的 WebAssembly.compileStreaming/WebAssembly.instantiateStreaming 方法更加高效——它们直接在来自网络的原始字节流上执行操作&#xff0c;省去了 ArrayBuffer 步…

设计模式学习笔记04(小滴课堂)

1.创建基础类&#xff1a; 调用它进行类对象的复制&#xff1a; 但是如果属性都是基本数据类型确实像这样很简单&#xff0c;但是如果属性中也包含复杂的数据类型呢&#xff1f; 再去测试一下&#xff1a; 我们发现person1和person2的list属性值的内容是同步的&#xff0c;这显…

网盘下载加速小妙招

平时使用百度网盘下载文件网速可能很慢也就一百多kb 甚至还达不到&#xff0c;在网盘的设置里面设置一下&#xff0c;网速能提高不少&#xff0c;具体多少不好评估&#xff0c;我设置了最高能到4M&#xff0c;下载就快多了 就是优化速率这个地方&#xff0c;这个功能默认是关闭…