十分钟上手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,我们只要改变数组中的内容就可以了,减少了工作量不说,后期更新维护时无论新增还是删减都容易了很多。

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

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

相关文章

【Boost】:parser代码的基本结构(二)

parser代码的基本结构 一.总体概述二. EumeFile的实现三.ParserHtml的实现四.SaveHtml实现五.完整源代码 打开parser.cc,用vscode或者vim都行。 一.总体概述 首先递归式的把文件名和路径读入一个数组内&#xff0c;接着把数组内的每一个数据按照一定的格式进行划分&#xff0c;…

云原生业务全流程DevOps配置预研与实践

背景 我在一个二线城市&#xff08;山东济南&#xff09;&#xff0c;相对与北上广深杭这些IT业发达的城市来说&#xff0c;济南IT业对于业内新技术的接受度是有点慢的&#xff0c;国内很多一线大厂早先几年前就开始实践使用的技术&#xff0c;我们这边也是近两年才开始慢慢兴…

10. BI - 决策树的使用及可视化

本文为 「茶桁的 AI 秘籍 - BI 篇 第 10 篇」 文章目录 可视化探索决策树原理决策树算法决策树可视化泰坦尼克海难数据 Hi&#xff0c;你好。我是茶桁。 上一节课&#xff0c;咱们了解了图形的具体绘制方法&#xff0c;接下来咱们还要看看除了图形绘制之外&#xff0c;还有哪些…

手把手教你开发Python桌面应用-PyQt6图书管理系统-主界面UI背景及状态栏代码设置

锋哥原创的PyQt6图书管理系统视频教程&#xff1a; PyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~_哔哩哔哩_bilibiliPyQt6图书管理系统视频教程 Python桌面开发 Python入门级项目实战 (无废话版) 火爆连载更新中~共计24条视频&…

山东淄博刑侦大队利用无人机抓获盗窃团伙

山东淄博刑侦大队利用无人机抓获盗窃团伙 近期&#xff0c;山东淄博临淄区发生多起盗窃案件。通过视频追踪和调查访问&#xff0c;推断临淄区某村可能为嫌疑人藏匿地点。刑侦大队无人机应急小组迅速到达现场&#xff0c;经无人机高空侦查&#xff0c;发现并锁定了嫌疑人的藏匿…

5. 基础网络服务与应用配置

5.1 实验一&#xff1a;FTP 基础配置实验 5.1.1 实验介绍 5.1.1.1 关于本实验 设备支持多种文件管理方式&#xff0c;用户根据任务和安全性要求选择合适的文件管理方式。 用户可以通过直接登录系统、FTP&#xff08;File Transfer Protocol&#xff09;、TFTP&#xff08;T…

Linux实验记录:使用vsftpd服务传输文件

前言&#xff1a; 本文是一篇关于Linux系统初学者的实验记录。 参考书籍&#xff1a;《Linux就该这么学》 实验环境&#xff1a; VmwareWorkStation 17——虚拟机软件 RedHatEnterpriseLinux[RHEL]8——红帽操作系统 备注&#xff1a; 为了解决在多样复杂的设备之间解决传…

2024年数学建模美赛 A~E 题目解析

2024美赛A题&#xff1a;资源可用性和性别比例 背景 尽管一些动物物种不属于通常的雄性或雌性&#xff0c;大多数物种在出生时要么显著地为雄性&#xff0c;要么为雌性。虽然许多物种在出生时表现出1:1的性别比&#xff0c;但其他物种则偏离了这个均衡的性别比例。这被称为性…

Netty核心原理与基础实战(二)——详解Bootstrap 备份

接上篇&#xff1a;Netty核心原理与基础实战&#xff08;一&#xff09; 1 Bootstrap基础概念 Bootstrap类是Netty提供的一个便利的工厂类&#xff0c;可以通过它来完成Netty的客户端或服务端的Netty组件的组装&#xff0c;以及Netty程序的初始化和启动执行。Netty的官方解释是…

【Linux】线程池

线程池 一、线程池的概念1、线程池的优点2、线程池的应用场景 二、线程池的实现1、实现逻辑2、threadpool线程池&#xff08;1&#xff09;threadpool.hpp代码&#xff08;2&#xff09;为什么线程池中需要有互斥锁和条件变量&#xff1f;&#xff08;3&#xff09;注意点&…

elk之简介

写在前面 本文看下es的简介。 1&#xff1a;简介 背后公司&#xff0c;elastic&#xff0c;08年纽交所上市&#xff0c;与腾讯&#xff0c;阿里等云厂商有合作&#xff0c;推出云产品&#xff0c;类似功能的产品由solr&#xff0c;splunk&#xff0c;但使用量es当前遥遥领先…

[pytorch入门] 9. 优化器

介绍 在pytorch的官方文档中&#xff0c;所有的优化器都集中在torch.optim中 在官方文档中&#xff0c;会告诉你如何去创建一个优化器 选择一种优化器创建&#xff0c;传入模型的参数&#xff08;必需的&#xff09;、学习速率&#xff08;几乎是每个优化器都有的参数&#…

【制作100个unity游戏之23】实现类似七日杀、森林一样的生存游戏9(附项目源码)

本节最终效果演示 文章目录 本节最终效果演示系列目录前言回收物品素材绘制UI代码控制垃圾桶回收功能效果 源码完结 系列目录 前言 欢迎来到【制作100个Unity游戏】系列&#xff01;本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第23篇中&#xff0c;我们将…

DPVS 多活部署架构部署

一、目标 利用DPVS部署一个基于OSPF/ECMP的提供HTTP服务的多活高可用的测试环境。 本次部署仅用于验证功能&#xff0c;不提供性能验证。 配置两台DPVS组成集群、两台REAL SERVER提供实际HTTP服务。 注&#xff1a;在虚拟环境里面&#xff0c;通过在一台虚拟服务器上面安装FR…

2024牛客寒假算法基础集训营1

文章目录 A DFS搜索M牛客老粉才知道的秘密G why外卖E 本题又主要考察了贪心B 关鸡C 按闹分配 今天的牛客&#xff0c;说是都是基础题&#xff0c;头昏昏的&#xff0c;感觉真不会写&#xff0c;只能赛后补题了 A DFS搜索 写的时候刚开始以为还是比较难的&#xff0c;和dfs有关…

老版本labelme如何不保存imagedata

我的版本是3.16&#xff0c;默认英文且不带取消保存imagedata的选项。 最简单粗暴的方法就是在json文件保存时把传递过来的imagedata数据设定为None&#xff0c;方法如下&#xff1a; 找到labelme的源文件&#xff0c;例如&#xff1a;D:\conda\envs\deeplab\Lib\site-packages…

数据分析基础之《pandas(4)—pandas画图》

1、DataFrame.plot(xNone, yNone, kindline) 说明&#xff1a; x&#xff1a;设置x轴标签 y&#xff1a;设置y轴标签 kind&#xff1a; line 折线图 bar 柱状图 hist 直方图 pie 饼图 scatter 散点图 # 找到p_change和turnover之间的关系 data.plot(xvolume, yturnover, kinds…

dubbo+sentinel最简集成实例

说明 在集成seata后&#xff0c;下面来集成sentinel进行服务链路追踪管理&#xff5e; 背景 sample-front网关服务已配置好 集成 一、启动sentinel.jar 1、官网下载 选择1:在本地启动 nohup java -Dserver.port8082 -Dcsp.sentinel.dashboard.serverlocalhost:8082 -Dp…

Simulink|光伏阵列模拟多类故障(开路/短路/阴影遮挡/老化)

目录 主要内容 模型研究 1.正常模型 2.断路故障 3.短路故障 4.阴影遮挡 5.老化模型 结果一览 1.U-I曲线 2.P-V曲线 下载链接 主要内容 该模型为光伏阵列模拟故障情况simulink模型&#xff0c;程序实现了多种故障方式下的光伏阵列输出功率-电压-电流关系特…

链表——C语言——day17

链表 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。在用数组存放数据时&#xff0c;必须事先定义固定的长度&#xff08;即元素个数&#xff09;。链表则没有这种缺点&#xff0c;它根据需要开辟内存单元。 链表有一个“头指针“变量&#xff0c;图中…