Vue2学习第二天

Vue2 学习第二天

1. 数据绑定

Vue 中有 2 种数据绑定的方式:

  1. 单向绑定(v-bind):数据只能从 data 流向页面。
  2. 双向绑定(v-model):数据不仅能从 data 流向页面,还可以从页面流向 data。

备注:

  1. 双向绑定一般都应用在表单类元素上(如:inputselect等),改变 input 视图自动发生变化
  2. v-model:value 可以简写为 v-model,因为**v-model默认收集的就是value**值。
<template>
	<div id="wrapper">
		<!-- <button v-on:click="toggle">toggle</button> -->
		<!-- <p v-if="isShow">hello world</p> -->
		<p v-if="score == 100">满分</p>
		<p v-else-if="score >= 60">及格</p>
		<p v-else>不及格</p>
		<!-- v-show通过控制css中的display:none来隐藏元素 -->
		<span v-show="isShow">当前的分数是:{{ score }}</span>
		<br />
		<!-- v-model可以自动的做双向绑定,改变input视图自动发生变化 -->
		<input type="text" v-model="score" />
		<button @click="handleClick">控制分数显示</button>
	</div>
</template>

<script>
export default {
	data() {
		return {
			isShow: true,
			score: 0,
		};
	},
	methods: {
		toggle() {
			this.isShow = !this.isShow;
		},
		handleClick() {
			this.isShow = !this.isShow;
		},
	},
};
</script>

<style></style>

QQ录屏20240215102835 -original-original

2. v-for 循环

v-for可以通过这个语法糖,在模板中对 data 中的数组进行遍历。

就是一个循环一个标签,会送你一个itemindex

<template>
	<div id="wrapper">
		<div class="box">
			<!-- v-for就是一个循环一个标签,会送你一个item和index -->
			<div v-for="(item, index) in songList" :key="index" class="item">
				<!-- 属性前面加上:代表了动态属性,里面可以传入变量 -->
				<img :src="item.imgUrl" alt="" />
				<div>{{ item.imgName }}</div>
				<!-- 事件传参,我们可以将item传入事件 -->
				<button @click="deleteItem(item)">点我删除</button>
			</div>
		</div>
	</div>
</template>

<script>
export default {
	name: "VFor",
	data() {
		return {
			songList: [
				{
					imgUrl: "https://p1.music.126.net/JcpOXM243FptA9tRYnPFlw==/109951167423159409.jpg",
					imgName: "歌曲1",
				},
				{
					imgUrl: "https://p1.music.126.net/-3hoO4QAO81HZ4gax4SMBw==/109951167692147226.jpg",
					imgName: "歌曲2",
				},
				{
					imgUrl: "https://p1.music.126.net/xJzCcsYiMUAWtwBMKj7IBg==/109951167930323816.jpg",
					imgName: "歌曲3",
				},
			],
		};
	},
	methods: {
		// 将点击的项给删除
		deleteItem(item) {
			// filter方法,筛选数组,找到名字和当前项不一样的返回
			this.songList = this.songList.filter((song) => {
				return song.imgName !== item.imgName;
			});
		},
	},
};
</script>

<style scoped>
#wrapper {
	width: 100vw;
}

.box {
	width: 300px;
	height: 300px;
	border: 1px solid #ccc;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
}

.item {
	flex: 1;
	height: 100px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.item > img {
	width: 50px;
	height: 50px;
}
</style>

QQ录屏20240215104612 -original-original

3. class 和 style

可以通过以下方式设置样式:

  • 字符串设置
  • 对象设置
  • 数组设置
<template>
	<div>
		<!-- 字符串设置 -->
		<div :class="current ? 'active' : ''">hello world</div>
		<!-- 数组设置 -->
		<!-- 使用三元表达式设置class -->
		<div :class="active ? ['active', 'box'] : 'box'"></div>
		<button @click="activeBox">激活box</button>
		<!-- 使用对象去设置样式 -->
		<div
			:style="{
				opacity: opacity,
				width: '100px',
				height: '100px',
				background: 'red',
			}"
			class="test"
		></div>
		<input type="range" v-model="opacity" :step="0.1" :min="0" :max="1" />
	</div>
</template>

QQ录屏20240215111510 -original-original

4. 生命周期

Vue 生命周期总结(四个阶段,八个钩子函数),生命周期就是组件或者实例,从创建到被销毁(初始化化数据、编译模板、挂载 DOM、渲染一更新一渲染、卸载)的一系列过程。

  • 生命周期:

    • 又名:生命周期回调函数、生命周期函数、生命周期钩子。

    • 是什么:Vue 在关键时刻帮我们调用的一些特殊名称的函数。

    • 生命周期函数的名字不可更改,但函数的具体内容是程序员根据需求编写的。

    • 生命周期函数中的 this 指向是 vm 或 组件实例对象。

生命周期

总结生命周期:

  • 常用的生命周期钩子

    • mounted: 发送 ajax 请求、启动定时器、绑定自定义事件、订阅消息等【初始化操作】。

    • beforeDestroy: 清除定时器、解绑自定义事件、取消订阅消息等【收尾工作】。

  • 关于销毁 Vue 实例

    • 销毁后借助 Vue 开发者工具看不到任何信息。

    • 销毁后自定义事件会失效,但原生 DOM 事件依然有效。

    • 一般不会在beforeDestroy操作数据,因为即便操作数据,也不会再触发更新流程了。

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

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

相关文章

比特币 P2PKH、P2SH

标准脚本P2PKH、P2SH 区块链重要基础知识7-1——标准脚本P2PKH、P2SH-CSDN博客 比特币中P2SH(pay-to-script-hash)多重签名的锁定脚本和解锁脚本 https://www.cnblogs.com/itlgl/p/10419325.html

Python算法题集_将有序数组转换为二叉搜索树

Python算法题集_将有序数组转换为二叉搜索树 题108&#xff1a;将有序数组转换为二叉搜索树1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【极简代码递归】2) 改进版一【多行代码递归】3) 改进版二【极简代码递归传递下标】 4. 最优算法 本文为…

StarRocks表设计——分区分桶与副本数

目录 一、数据分布 1.1 概述 1.2 数据分布方式 1.2.1 Round-Robin 1.2.2 Range 1.2.3 List 1.2.4 Hash 1.3 StarRocks的数据分布方式 1.3.1 不分区 Hash分桶 1.3.2 Range分区Hash分桶 三、分区 3.1 分区概述 3.2 创建分区 3.2.1 手动创建分区 3.2.2 批量创建分区…

Stable Diffusion系列(五):原理剖析——从文字到图片的神奇魔法(扩散篇)

文章目录 DDPM论文整体原理前向扩散过程反向扩散过程模型训练过程模型生成过程概率分布视角参数模型设置论文结果分析 要想完成SD中从文字到图片的操作&#xff0c;必须要做到两步&#xff0c;第一步是理解文字输入包含的语义&#xff0c;第二步是利用语义引导图片的生成。下面…

String讲解

文章目录 String类的重要性常用的方法常用的构造方法String类的比较字符串的查找转化数字转化为字符串字符串转数字 字符串替换字符串的不可变性 字符串拆分字符串截取字符串修改 StringBuilder和StringBuffer String类的重要性 在c/c的学习中我们接触到了字符串&#xff0c;但…

阿里(淘天)一面笔试算法原题

阿里撤资 "车来了" 近日&#xff0c;国内实时公交产品"车来了"关联公司武汉元光科技有限公司发生工商变更&#xff0c;阿里巴巴&#xff08;中国&#xff09;网络技术有限公司退出股东行列。 这很好理解&#xff0c;符合近期阿里收缩战线的行为一致性。 毕…

自然语言编程系列(四):GPT-4对编程开发的支持

在编程开发领域&#xff0c;GPT-4凭借其强大的自然语言理解和代码生成能力&#xff0c;能够深刻理解开发者的意图&#xff0c;并基于这些需求提供精准的编程指导和解决方案。对于开发者来说&#xff0c;GPT-4能够在代码片段生成、算法思路设计、模块构建和原型实现等方面给予开…

【大厂AI课学习笔记】【2.1 人工智能项目开发规划与目标】(2)项目开发周期

我们来学习项目开发的周期。 再次声明&#xff0c;本文来自腾讯AI课的学习笔记&#xff0c;图片和文字&#xff0c;仅用于大家学习&#xff0c;想了解更多知识&#xff0c;请访问腾讯云相关章节。如果争议&#xff0c;请联系作者。 今天&#xff0c;我们来学习AI项目的周期。 主…

跟着pink老师前端入门教程(JavaScript)-day03

四、数据类型 &#xff08;一&#xff09;数据类型简介 1、为什么需要数据类型 在计算机中&#xff0c;不同的数据所需占用的存储空间是不同的&#xff0c;为了便于把数据分成所需内存大小不同的数据&#xff0c;充分利用存储空间&#xff0c;于是定义了不同的数据类型。 …

python实现多图绘制系统

文章目录 需求和框架AxisFrameAxisListDarwSystem 从零开始实现一个三维绘图系统 需求和框架 本文希望实现下图所示的绘图系统&#xff0c;下面详细分析需求变化。 和之前实现的绘图系统相比&#xff0c;首先是多了【新增】和【删除】这两个按钮&#xff0c;其功能是控制绘图数…

spring boot3登录开发-2(1图形验证码接口实现)

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途。 目录 前置条件 内容简介 图形验证码接口实现 导入糊涂工具依赖 接口分析 编写验证码接口 测试验证码接口 前置条件 …

【Python---六大数据结构】

&#x1f680; 作者 &#xff1a;“码上有前” &#x1f680; 文章简介 &#xff1a;Python &#x1f680; 欢迎小伙伴们 点赞&#x1f44d;、收藏⭐、留言&#x1f4ac; Python---六大数据结构 往期内容前言概述一下可变与不可变 Number四种不同的数值类型Number类型的创建i…

一、ActiveMQ介绍

ActiveMQ介绍 一、JMS1.jms介绍2.jms消息传递模式3.JMS编码总体架构 二、消息中间件三、ActiveMQ介绍1.引入的原因1.1 原因1.2 遇到的问题1.3 解决思路 2.定义3.特点3.1 异步处理3.2 应用系统之间解耦3.3 实际-整体架构 4.作用 一、JMS 1.jms介绍 jms是java消息服务接口规范&…

Android安卓架构MVC、MVP、MVVM模式的概念与区别

目录 MVC框架 MVP框架 MVVM框架 MVVM与MVP区别 MVVM与MVC区别 MVC、MVP、MVVM模式哪个要好一些 MVC&#xff08;Model-View-Controller&#xff09;、MVP&#xff08;Model-View-Presenter&#xff09;、MVVM&#xff08;Model-View-ViewModel&#xff09;是三种常见的软…

Flume(二)【Flume 进阶使用】

前言 学数仓的时候发现 flume 落了一点&#xff0c;赶紧补齐。 1、Flume 事务 Source 在往 Channel 发送数据之前会开启一个 Put 事务&#xff1a; doPut&#xff1a;将批量数据写入临时缓冲区 putList&#xff08;当 source 中的数据达到 batchsize 或者 超过特定的时间就会…

元器件焊盘的PCB处理方式分析与总结

对于高速信号走线的特性阻抗&#xff0c;都需要按照实际要求进行精度控制&#xff0c;所以&#xff0c;任何因设计因素带来的阻抗波动都应该进行优化&#xff0c;如下图所示&#xff0c;为一个12层板设计中的50Ω微带走线&#xff0c;需要在走线之上放置电感&#xff1b; 但是&…

N-144基于微信小程序在线订餐系统

开发工具&#xff1a;IDEA、微信小程序 服务器&#xff1a;Tomcat9.0&#xff0c; jdk1.8 项目构建&#xff1a;maven 数据库&#xff1a;mysql5.7 前端技术&#xff1a;vue、ElementUI、 Vant Weapp 服务端技术&#xff1a;springbootmybatisredis 本系统分微信小程序和…

Sora时代,我们的AI应该何去何从?——关于Sora大模型的思考

Sora时代&#xff0c;我们的AI应该何去何从?——关于Sora大模型的思考 一、Sora大模型&#xff1a;横空出世&#xff0c;让AI生成所有领域瑟瑟发抖二、Sora的出现代表了相关行业的灭亡&#xff1f;三、我们将何去何从&#xff1f; 一、Sora大模型&#xff1a;横空出世&#xf…

【数据结构】二叉查找树和平衡二叉树,以及二者的区别

目录 1、二叉查找树 1.1、定义 1.2、查找二叉树的优点 1.2、查找二叉树的弊端 2、平衡二叉树 2.1、定义 2.2、 实现树结构平衡的方法&#xff08;旋转机制&#xff09; 2.2.1、左旋 2.2.2、右旋 3、总结 1、二叉查找树 二叉查找树又名二叉排序树&#xff0c;亦称二叉搜…

WebStorm | 如何修改webstorm中新建html文件默认生成模板中title的初始值

在近期的JS的学习中&#xff0c;使用webstorm&#xff0c;总是要先新建一个html文件&#xff0c;然后再到里面书写<script>标签&#xff0c;真是麻烦&#xff0c;而且标题也是默认的title&#xff0c;想改成文件名还总是需要手动去改 经过小小的研究&#xff0c;找到了修…