Vue2学习第二天

news2024/11/28 22:48:22

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操作数据,因为即便操作数据,也不会再触发更新流程了。

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

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

相关文章

大学生画图搜题答案神器?一键查询完备大学题库 #知识分享#经验分享#学习方法

大学生必备的搜题工具&#xff0c;专业课本习题、电子版教材、考研资料、英语四六级等考试题目也能一并搜索&#xff0c;每道题目都有详细的讲解&#xff0c;每个都堪称大学神器。 1.试题易 这是一个网站 涵盖初高中&#xff0f;大学&#xff0f;专升本&#xff0f;考研&…

python视频播放列表信息库之m3u8使用详解

m3u8库是什么&#xff1f; m3u8是一个用于解析和操作M3U8文件的Python库。M3U8文件&#xff0c;是指使用UTF-8编码格式的M3U文件&#xff0c;它们通常用于播放列表文件&#xff0c;尤其是在HTTP Live Streaming&#xff08;HLS&#xff09;中。简单来说&#xff0c;m3u8库能帮…

嵌入式中I2C 相关的硬件问题汇总及死锁解决办法

本文主要介绍如何解决I2C设备硬件设计上的各种问题&#xff0c;希望对大家有所帮助&#xff01; 关于I2C协议详细的讲解&#xff0c;可以参考之前的推文&#xff1a;全面解析 I2C 通信协议 一般情况下&#xff0c; i2c 设备焊接没什么问题&#xff0c;按照设备手册一步步来&a…

<网络安全>《33 网络信息安全基础(4)网络安全工程师进阶体系(一)》

1 图谱 1 基础入门 1.1 网络安全导论 网络安全行业简介&#xff1a; 行业前景 历史 重要事件 网络安全意识与法律法规 安全意识 法律法规 案例 网络安全管理概述 安全运营、运维、模型 等保测评 等保简介、等保规定、流程和规范 1.2 渗透测试基础 渗透测试概述 - 流程、分…

Go语言每日一练——链表篇(九)

传送门 牛客面试笔试必刷101题 ----------------链表相加(二) 题目以及解析 题目 解题代码及解析 解析 这一道题主要是要对链表相加的过程进行模拟&#xff0c;虽然思路不难但是细节出比较多&#xff0c;这里博主的思路主要是先将两个链表反转过来然后以Head1为基础来模拟…

java 宠物在线商城系统Myeclipse开发mysql数据库web结构jsp编程servlet计算机网页项目

一、源码特点 java 宠物在线商城系统是一套完善的java web信息管理系统 servletdaobean mvc模式&#xff0c;对理解JSP java编程开发语言有帮助&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S 模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发&…

Windows11通过SMB映射NAS网络驱动磁盘

环境 NAS&#xff1a;威联通TS-416 操作系统&#xff1a;Windows11 第一步 连接NAS winr 打开运行&#xff0c;输入NAS局域网IP地址&#xff0c;按照如下的格式输入 然后输入NAS的账号和密码就可以通过SMB连接到NAS了 第二步 映射网络驱动器 举个栗子&#xff1a;右键Stora…

记录 | windows pyqt5 pycharm配置

一、下载安装 离线安装 通过PyPI下载 https://pypi.org/ 依此搜索 python_dotenv&#xff0c;PyQt5_sip&#xff0c;PyQt5&#xff0c;pyqt5_tools&#xff0c;注意PyQt5和pyqt5_tools版本对应。 下载之后放在\Anaconda3\Lib\site-packagescmd依次 pip install *.whl 二…

python系统学习Day2

section3 python Foudamentals part one&#xff1a;data types and variables 数据类型&#xff1a;整数、浮点数、字符串、布尔值、空值 #整型&#xff0c;没有大小限制 >>>9 / 3 #3.0 >>>10 // 3 #3 地板除 >>>10 % 3 #1 取余#浮点型&#xff…

H12-821_48

48.下面是台路由器输出的BGP信息,关于这段信息描述措误的是 A.路由器的Router ID是1.1.1.9 B.display bgp network命令来显示BGP通过network ( BGP)的通告的路由信息 C.该路由器所在AS号是10 D.该路由器通过import-route命今引入了4.4.4.0/24的网段 答案&#xff1a;D 注释&am…

C++初阶:适合新手的手撕list(模拟实现list)

上次讲了常用的接口&#xff1a;今天就来进行模拟实现啦 文章目录 1.基本结构与文件规划2.空参构造函数&#xff08;constructor)3.完善迭代器&#xff08;iterator&#xff09;(begin(),end())4.List Capacity&#xff08;size(),empty())4.增删改查(push_back,pop_back,pop_f…

【初始C++】引用的概念及使用场景、引用与指针的区别、内联函数、类型推导关键字auto、范围for循环、指针空值nullptr

目录 1.引用 1.1引用的概念 1.2引用的特性 1.3使用场景 1.4引用与指针的区别 2.内联函数 2.1内联函数的概念 2.2内联函数的特征 3.auto关键字&#xff08;C11&#xff09; 4.基于范围的for循环&#xff08;C11&#xff09; 5.指针空值nullptr&#xff08;C11&#x…

攻防演练后的一点随记

攻防演练 攻防演练算是告一段落了&#xff0c;各位红队和蓝队的兄弟们都辛苦了&#xff0c;写一点随记&#xff0c;供大家参考。 记得第一次参加攻防演练是在2018年&#xff0c;当时被派到北京&#xff0c;在某个政企单位做攻防演练支撑工作&#xff0c;然后2020年又被紧急派到…

RK3568笔记十六:Framebuffer实验

若该文为原创文章&#xff0c;转载请注明原文出处。 本意是移植LVGL&#xff0c;但在编译DRM过程中一直编译失败&#xff0c;然后就想Framebuffer是否可以用&#xff0c;所以测试一下。 一、framebuffer介绍 FrameBuffer中文译名为帧缓冲驱动&#xff0c;它是出现在2.2.xx内…

剑指offer——数值的整数次方

目录 1. 题目描述2. 一般思路2.1 有问题的思路2.2 全面但不高效的思路2.3 面试小提示 3. 全面又高效的思路 1. 题目描述 题目:实现函数 double Power(double base,int exponent)&#xff0c;求base 的exponent 次方。不得使用库函数&#xff0c;同时不需要考虑大数问题 2. 一般…

【AIGC】Stable Diffusion的常见错误

Stable Diffusion 在使用过程中可能会遇到各种各样的错误。以下是一些常见的错误以及可能的解决方案&#xff1a; 模型加载错误&#xff1a;可能出现模型文件损坏或缺失的情况。解决方案包括重新下载模型文件&#xff0c;确保文件完整并放置在正确的位置。 依赖项错误&#x…

树形dp 笔记

树的最长路径 给定一棵树&#xff0c;树中包含 n 个结点&#xff08;编号1~n&#xff09;和 n−1 条无向边&#xff0c;每条边都有一个权值。 现在请你找到树中的一条最长路径。 换句话说&#xff0c;要找到一条路径&#xff0c;使得使得路径两端的点的距离最远。 注意&…

什么是“感知机”?

感知机&#xff08;神经网络和支持向量机的理论基础&#xff09; 概念&#xff1a;简单来说&#xff0c;感知机就是一个旨在建立一个线性超平面对线性可分的数据集进行分类的线性模型 分类&#xff1a; 单层感知机多层感知机&#xff08; Multi-Layer Perceptron&#xff0c…

DS Wannabe之5-AM Project: DS 30day int prep day18

Q1. What is Levenshtein Algorithm? Levenshtein算法&#xff0c;也称为编辑距离算法&#xff0c;是一种量化两个字符串之间差异的方法。它通过计算将一个字符串转换成另一个字符串所需的最少单字符编辑操作次数来实现。这些编辑操作包括插入、删除和替换字符。Levenshtein距…

Redis -- 数据库管理

目录 前言 切换数据库(select) 数据库中key的数量&#xff08;dbsize&#xff09; 清除数据库&#xff08;flushall flushdb&#xff09; 前言 MySQL有一个很重要的概念&#xff0c;那就是数据库database&#xff0c;一个MySQL里面有很多个database&#xff0c;一个datab…