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;用于数据分析、机器学习、科学计算的重要…

【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 推出时这个问题就开始引发我们的思考。在当时,我们敏锐地意识到这将是一个机遇。然而,在国内,这个概念的认知需要更长的时间。我个人在去年四五月份的美国之行中注意到,数据库在美国已经是一个非常热门的…

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

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

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

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

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&#…

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

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

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 …

数据结构——排序算法——冒泡排序

冒泡排序1 void swap(vector<int> arr, int i, int j) {int temp arr[i];arr[i] arr[j];arr[j] temp;}void bubbleSort1(vector<int> arr) {for (int i 0; i < arr.size() - 1; i){for (int j 0; j < arr.size() - 1 - i; j){if (arr[j] > arr[j 1…

【Unity编辑器扩展】| 顶部菜单栏扩展 MenuItem

前言【Unity编辑器扩展】 | 顶部菜单栏扩展 MenuItem一、创建多级菜单二、创建可使用快捷键的菜单项三、调节菜单显示顺序和可选择性四、创建可被勾选的菜单项五、右键菜单扩展5.1 Hierarchy 右键菜单5.2 Project 右键菜单5.3 Inspector 组件右键菜单六、AddComponentMenu 特性…

人工智能:神经细胞模型到神经网络模型

人工智能领域中的重要流派之一是&#xff1a;从神经细胞模型&#xff08;Neural Cell Model&#xff09;到神经网络模型&#xff08;Neural Network Model&#xff09;。 一、神经细胞模型 第一个人工神经细胞模型是“MP”模型&#xff0c;它是由麦卡洛克、匹茨合作&#xff0…

Java-华为真题-预定酒店

需求&#xff1a; 放暑假了&#xff0c;小王决定到某旅游景点游玩&#xff0c;他在网上搜索到了各种价位的酒店&#xff08;长度为n的数组A&#xff09;&#xff0c;他的心理价位是x元&#xff0c;请帮他筛选出k个最接近x元的酒店&#xff08;n>k>0&#xff09;&#xff…

通常用哪些软件做数据可视化大屏?

一般就两种&#xff0c;一种是可视化大屏编辑软件&#xff0c;另一种则是BI系统&#xff08;BI数据可视化工具&#xff09;。考虑到数据来源多、数据量大以及数据分析效率、直观易懂性等实实在在的客观问题&#xff0c;建议采用BI系统来制作数据可视化大屏。 BI系统做可视化大…

【SpringMVC】JSR 303与interceptor拦截器快速入门

目录 一、JSR303 1、什么是JSR 303&#xff1f; 2、为什么要使用JSR 303&#xff1f; 3、JSR 303常用注解 3.1、常用的JSR 303注解 3.2、Validated与Valid区别 3.2.1、Validated 3.2.2、Valid 3.2.3、区别 4、使用案例 4.1、导入依赖 4.2、配置校验规则 4.3、编写…

Matlab图像处理-彩色图像基础

光谱 在17世纪60年代&#xff0c;人们普遍认为白光是一种没有其他颜色的纯色光&#xff0c;而彩色光是有某种缘故发生变化的光。为了验证这个假设&#xff0c;牛顿让一束阳光通过一面三棱镜&#xff0c;光线在墙上被分解成了八种不同的颜色&#xff0c;即&#xff1a;红、橙、…

vue基础知识九:动态给vue的data添加一个新的属性时会发生什么?怎样解决?

一、直接添加属性的问题 我们从一个例子开始 定义一个p标签&#xff0c;通过v-for指令进行遍历 然后给botton标签绑定点击事件&#xff0c;我们预期点击按钮时&#xff0c;数据新增一个属性&#xff0c;界面也 新增一行 <p v-for"(value,key) in item" :key&q…