javaweb04-vue基础

话不多说,参考官网地址Vue官网集成Vue应用。

一、Vue快速入门

(1)新建HTML页面,引入Vue.js
我这里用的是CDN方式

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script>

(2)在核心区域创建Vue应用,定义数据模型

```
<script>Vue.createApp({data() {return {message:'Hello World'}}}).mount('#app')
</script>
```
(3)编写视图
```
<body><div id="app"><input type="text" v-model="message">{{message}}</div>
</body>
```

**说明:**
(1)插值表达式:{{表达式}}。 内容可以是变量、函数调用、算数运算等
(2)创建Vue应用申明的'#app',表明寻找一个作用域为app的块,并只在该块下生效
(3)核心架构采用mvvm,实现数据和视图的双向绑定


二、常见指令


在HTML标签上带有v-的特殊属性,不同指令代表不同的意义。
>1.v-bind 为HTML标签绑定属性值,比如设置 css 、href等
2.v-model 在表单元素上创建双向数据绑定
3.v-on 为HTML标签绑定事件
4.v-if、v-else-if、v-else 条件判定,符合条件时显示
5.v-show 符合条件时显示,区域在于切换的是display属性的值
6.v-for 列表渲染,遍历容器的元素或者对象的属性

(1)v-bind 为HTML标签绑定属性值,比如设置 css 、href等——href绑定

```
<body><div id="app"><a v-bind:href="url">链接</a><input type="text" v-model="message">{{message}}</div>
</body><script>Vue.createApp({data() {return {message:'Hello World',url:'https://www.baidu.com'}}}).mount('#app')
</script>
```

——css绑定

```
<body><div id="app"><div :style="{color:textColor}">aaa</div><input type="text" v-model="message">{{message}}</div>
</body><script>Vue.createApp({data() {return {message: 'Hello World',url: 'https://www.baidu.com',textColor: 'red'}}}).mount('#app')
</script>
```


**注意:**
v-bind可以省略,直接写:href(2)v-model 在表单元素上创建双向数据绑定

```
<body><div id="app"><a :href="url">变化链接,跟随text文本框输入内容</a><input type="text" v-model="url">{{url}}</div>
</body><script>Vue.createApp({data() {return {message: 'Hello World',url: 'https://www.baidu.com',textColor: 'red'}}}).mount('#app')
</script>
```

(3)v-on 为HTML标签绑定事件

```<body><div id="app"><input type="button" value="按钮点击" v-on:click="handle()"></div>
</body><script>Vue.createApp({data() {return {message: 'Hello World',url: 'https://www.baidu.com',textColor: 'red'}},methods: {handle(){alert('被点击')}}}).mount('#app')
</script>
```


**注意:**
v-on:click可以简写成@click

(4)v-if、v-else-if、v-else 条件判定,符合条件时显示

```
<span v-if="item.score >=85">优秀</span>
<span v-else-if="item.score >=60">及格</span>
<span v-else style="color: red;">不及格</span>
```

(5)v-show 符合条件时显示,区域在于切换的是display属性的值

```
<body><div id="app"><span v-show="show">优秀</span></div>
</body><script>Vue.createApp({data() {return {show:true}}}).mount('#app')
</script>
```


(6)v-for 列表渲染,遍历容器的元素或者对象的属性

```
<tr v-for="(item, index) in users" :key="index"><td>{{index+1}}</td><td>{{item.name}}</td><td>{{item.age}}</td><td><span v-if="item.gender ==1">男</span><span v-if="item.gender ==2">女</span></td><td>{{item.score}}</td><td><span v-if="item.score >=85">优秀</span><span v-else-if="item.score >=60">及格</span><span v-else style="color: red;">不及格</span></td>
</tr>
```

三、常见指令使用案例

代码:

<!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="https://unpkg.com/vue@3/dist/vue.global.js"></script>
</head><body><div id="app"><table border="1px" cellspacing="0px"><tr><th>编号</th><th>姓名</th><th>年龄</th><th>性别</th><th>成绩</th><th>等级</th></tr><tr v-for="(item, index,allitem) in users" :key="index"><td>{{index+1}}</td><td>{{item.name}}</td><td>{{item.age}}</td><td><span v-if="item.gender ==1">男</span><span v-if="item.gender ==2">女</span></td><td>{{item.score}}</td><td><span v-if="item.score >=85">优秀</span><span v-else-if="item.score >=60">及格</span><span v-else style="color: red;">不及格</span></td></tr></table></div>
</body><script>Vue.createApp({data() {return {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 }]}}}).mount('#app')
</script></html>

四、Vue生命周期

概念:指一个对象从创建到销毁的整个过程。

一共分为八个阶段

>beforeCreate 创建前

created 创建后

beforeMount 挂载前

mounted 挂载完成(钩子)

beforeUpdate 更新前

updated 更新后

beforeDestory 销毁前

destoryed 销毁后

晒一张官网生命周期图

<script>Vue.createApp({data() {return {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 }],}},mounted() {//生命周期挂载 俗称钩子  发送请求到服务端来获取数据alert('view 挂载完成,发送请求到服务端')},}).mount('#app')
</script>

**注意:**

Vue的生命周期都有单独的方法,可以直接声明出来。

主要关注mounted挂载完成,因为这里处理发送请求到服务端请求数据。

特别说明beforeUpdate和updateed,当data被修改时,在dom渲染之前调用befroreUpdate,渲染完成之后调用updated


 

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

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

相关文章

windows10系统下Python3.11中安装Numpy库教程

Python3.11中安装Numpy库目录 项目场景&#xff1a;问题描述解决方案&#xff1a;①下载Numpy文件②把NumPy文件放到Python安装的Scripts文件夹里。③安装numpy④安装验证 项目场景&#xff1a; numpy是开源的数值计算扩展&#xff0c;用于数据分析、机器学习、科学计算的重要…

敲代码常用快捷键

1、代码拖动 PyCharm&#xff1a;按住 shiftalt鼠标选中某一区域来拖动&#xff0c;即可实现拖动这一区域至指定区域。Visual Studio Code (VSCode): - Windows/Linux&#xff1a;Alt 鼠标左键拖动 - MacOS&#xff1a;Option 鼠标左键拖动 IntelliJ IDEA: - Win…

【Java 基础篇】Java TreeSet 详解:红黑树实现的有序集合

Java 集合框架提供了多种数据结构&#xff0c;用于存储和操作数据。其中&#xff0c;TreeSet 是一种特殊类型的集合&#xff0c;它通过红黑树&#xff08;Red-Black Tree&#xff09;数据结构实现了有序的、唯一元素存储。本篇博客将深入探讨 TreeSet&#xff0c;包括其概念、特…

小程序中使用分包

前言 小程序在未使用的分包的情况下仅支持大小为2M,如果图片等资源过多的情况下可以使用分包功能&#xff0c;使用分包的情况下单个分包大小不能超过2M,总大小不能超过20M&#xff0c;分包有两种情况&#xff1a;普通分包和独立分包&#xff0c;下面介绍的是普通分包。官方文档…

《向量数据库指南》——哪些需求推动了如Milvus Cloud等的向量数据库的更新和迭代?

这个问题需要深入讨论大模型与向量数据库之间的关系。从去年 ChatGPT 推出时这个问题就开始引发我们的思考。在当时,我们敏锐地意识到这将是一个机遇。然而,在国内,这个概念的认知需要更长的时间。我个人在去年四五月份的美国之行中注意到,数据库在美国已经是一个非常热门的…

leetcode分类刷题:队列(Queue)(二、优先队列解决TopK简单问题)

1、优先队列好像一般都叫堆&#xff0c;以大顶堆为例&#xff0c;顶部第一个元素最大&#xff0c;底部最后一个元素最小&#xff0c;自顶向底是递减的&#xff08;更准确的说是非递增的&#xff09;&#xff0c;对外只能访问顶部第一个元素&#xff08;对应索引为0&#xff09;…

算法通关村第十九关:青铜-动态规划是怎么回事

青铜挑战-动态规划是怎么回事 动态规划&#xff08;简称DP&#xff0c;Dynamic Programming&#xff09;&#xff1a;最热门、最重要的算法之一。面试中大量出现&#xff0c;整体偏难。 1. 热身&#xff1a;重复计算和记忆化搜索&#xff08;如何说一万次"我爱你"&…

【LeetCode-中等题】59. 螺旋矩阵 II

文章目录 题目方法一&#xff1a;二维数组缩圈填数字方法二&#xff1a; 题目 方法一&#xff1a;二维数组缩圈填数字 定义四个边界条件&#xff0c;每转一圈&#xff0c;把数值填进去&#xff0c;然后缩小一圈&#xff0c;直到不满足条件位置 结束循环条件可以是&#xff1a; …

SpringBoot MongoDB GridFsTemplate实现文件管理

1. 添加maven <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-mongodb</artifactId></dependency>2. 配置文件GridFsTemplate实现临时文件和正式文件存储桶分离 Configuration public cl…

科目二试题

int main() {int i 1;int j 0;while (i < 10) {i;if (i % 2 ! 0) {break;}j;}printf("%d %d\n", i, j);system("pause");return 0; }答案&#xff1a; 3 1int x 3;#define ADD(x,y) x * yint main() {int x 2;int y 3;int res ADD(x, y);printf…

QML android 采集手机传感器数据 并通过udp 发送

利用 qt 开发 安卓 app &#xff0c;采集手机传感器数据 并通过udp 发送 #ifndef UDPLINK_H #define UDPLINK_H#include <QObject> #include <QUdpSocket> #include <QHostAddress>class UdpLink : public QObject {Q_OBJECT public:explicit UdpLink(QObjec…

使用ExcelJS快速处理Node.js爬虫数据

什么是ExcelJS ExcelJS是一个用于处理Excel文件的JavaScript库。它可以让你使用JavaScript创建、读取和修改Excel文件。 以下是ExcelJS的一些主要特点&#xff1a; 支持xlsx、xlsm、xlsb、xls格式的Excel文件。可以创建和修改工作表、单元格、行和列。可以设置单元格样式、字…

leetcode:67. 二进制求和

题目&#xff1a; 函数原型&#xff1a; char * addBinary(char * a, char * b) 思路&#xff1a; 二进制相加&#xff0c;首先我们考虑先将字符串逆序。由此要写一个逆序函数reserve。字符串逆序后&#xff0c;从前往后相加&#xff0c;以较长的字符串的长度为标准长度n&#…

Nacos使用JavaSDK,Nacos 动态监听配置,Nacos动态发布配置,Nacos动态获取实例

文章目录 一、概述1、内置SDK2、服务配置管理工具&#xff1a;ConfigService3、服务注册与发现管理工具&#xff1a;NamingService 二、服务配置管理1、获取配置&#xff08;1&#xff09;描述&#xff08;2&#xff09;参数&#xff08;3&#xff09;请求示例 2、监听配置&…

Android | ADB 命令

Android Debug Bridge Android 调试桥&#xff0c;通过 C/S 的形式利用 PC 来操作 Android 设备&#xff0c;通过 ADB 可以利用 shell 直接操作真机或模拟器&#xff0c;比如传输文件、管理应用、拉取日志等。 常用的 ADB 指令 # 开启 ADB 服务 adb start-server# 停止 ADB …

可视化大屏设计模板 | 主题皮肤(报表UI设计)

下载使用可视化大屏设计模板&#xff0c;减少重复性操作&#xff0c;提高报表制作效率的同时也确保了报表风格一致&#xff0c;凸显关键数据信息。 软件&#xff1a;奥威BI系统&#xff0c;又称奥威BI数据可视化工具 所属功能板块&#xff1a;主题皮肤上传下载&#xff08;数…

阿里云k8s服务之间偶尔获取不到dns解析安装ACK NodeLocal DNSCache

1.背景 feign.RetryableException: No route to host (Host unreachable) executing POST http://osale-thirdparty/empty/detect 服务突然会中断&#xff0c;开发在看日志的时候会出现host找不到的情况&#xff0c;阿里云技术推荐安装dns缓存组件&#xff0c;加上这个组件会解…

Python实现机器学习(下)— 数据预处理、模型训练和模型评估

前言&#xff1a;Hello大家好&#xff0c;我是小哥谈。本门课程将介绍人工智能相关概念&#xff0c;重点讲解机器学习原理机器基本算法&#xff08;监督学习及非监督学习&#xff09;。使用python&#xff0c;结合sklearn、Pycharm进行编程&#xff0c;介绍iris&#xff08;鸢尾…

Excel学习 WPS版

Excel学习 1.界面基础1.1 方格移动快捷键1.2 自动适配文字长度1.3 跨栏置中1.4 多个单元格同宽度&#xff1a;1.5 下拉框选择1.6 打印预览1.7 绘制边框1.8 冻结一行多行表头1.9 分割视图 2.日期相关2.1 今日日期快捷键2.2 月份提取 3.数学公式3.1 自动增长3.2 排序3.3 筛选3.4 …

ISCSI:后端卷以LVM 的方式配置 ISCSI 目标启动器

写在前面 准备考试整理相关笔记博文内容涉及使用 LVM 做ISCSI 目标后端块存储 Demo理解不足小伙伴帮忙指正 对每个人而言&#xff0c;真正的职责只有一个&#xff1a;找到自我。然后在心中坚守其一生&#xff0c;全心全意&#xff0c;永不停息。所有其它的路都是不完整的&#…