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

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

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

相关文章

Kotlin:单例模式(项目使用实例)

摘要 单例模式主要的五种如下&#xff1a; 饿汉式懒汉式线程安全的懒汉式双重校验锁式&#xff08;Double Check)静态内部类式 一、项目使用单例模式实例场景 app在运行时缓存部分数据&#xff0c;作为全局缓存数据&#xff0c;以便其他页面及时更新页面对应状态的数据&…

[爬虫] 爬取B站的弹幕,通过bvid或者a_id、c_id

起因&#xff1a; 我需要爬取B站的动漫信息&#xff0c;包括弹幕 可能用到的API&#xff1a; 获取动漫的每集信息&#xff08;包含a_id和c_id&#xff09; https://api.bilibili.com/pgc/web/season/section?season_id34404 获取弹幕&#xff08;需要a_id和c_id&#xff09…

html的表格标签

html的表格标签 table标签:表示整个表格tr:表示表格的一行td:表示一个单元格th:表示表头单元格.会居中加粗thead:表格的头部区域 (注意和th区分,范围是比th要大的).tbody:表格得到主体区域. table包含tr , tr包含td或者th. 表格标签有一些属性&#xff0c;可以用于设置大小边…

Codeforces Round 920 (Div. 3)

D. Very Different Array&#xff08;贪心双指针/前缀和&#xff09; 思路&#xff1a;绝对值就是线段-->让线段最长&#xff08;肯定是越在最短端找最右端的 越最右端找最左端的&#xff09;-->判断怎么连哪段最长(采用双指针的策略去判断&#xff09; &#xff08;左红…

七天爆肝flink笔记

一.flink整体介绍及wordcount案例代码 1.1整体介绍 从上到下包含有界无界流 支持状态 特点 与spark对比 应用场景 架构分层 1.2示例代码 了解了后就整个demo吧 数据源准备 这里直接用的文本文件 gradle中的主要配置 group com.example version 0.0.1-SNAPSHOTjava {sour…

通过`ssh`同步`tmux`剪贴板内容

通过ssh同步tmux剪贴板内容 通过ssh连接远程服务器时&#xff0c;可以通过xclip同步tmux剪贴板内容。这需要在服务器上安装xclip&#xff0c;且需要在ssh远程连接时开启X11。 此处附tmux剪贴板调用xclip的配置&#xff1a; # Copy the current buffer to the system clipboa…

网络爬虫实战 | 上传以及下载处理后的文件

以实现爬虫一个简单的&#xff08;SimFIR (doctrp.top)&#xff09;网址为例&#xff0c;需要遵循几个步骤&#xff1a; 1. 分析网页结构 首先&#xff0c;需要分析该网页的结构&#xff0c;了解图片是如何存储和组织的。这通常涉及查看网页的HTML源代码&#xff0c;可能还包…

[Python进阶] 使用__import__函数动态导入模块

2.16 使用__import__函数动态导入模块 在Python中&#xff0c;__import__是一个内置函数&#xff0c;用于动态导入模块。它的语法如下&#xff1a; import(name, globalsNone, localsNone, fromlist(), level0) 其中&#xff0c;name是要导入的模块名称&#xff0c;globals和l…

基于FPGA的ECG信号滤波与心率计算verilog实现,包含testbench

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1 ECG信号的特点与噪声 4.2 FPGA在ECG信号处理中的应用 4.3 ECG信号滤波原理 4.4 心率计算原理 4.5 FPGA在ECG信号处理中的优势 5.算法完整程序工程 1.算法运行效果图预览 其RTL结构如…

C++集群聊天服务器 muduo+nginx+redis+mysql数据库连接池 笔记 (下)

C集群聊天服务器 网络模块业务模块CMake构建项目 笔记 &#xff08;上&#xff09;-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/135991635?spm1001.2014.3001.5501C集群聊天服务器 数据模块业务模块CMake构建项目 笔记 &#xff08;上&#xff09;-CSDN博…

QT-通信编码格式问题

这里写目录标题 一、项目场景1.QT客户端与服务端通信时&#xff0c;转化步骤如下&#xff1a;2.原数据示例3.转化后数据 二、问题描述1.采用Soap协议2.采用HTTP协议 三、原因分析四、解决方案 一、项目场景 1.QT客户端与服务端通信时&#xff0c;转化步骤如下&#xff1a; 1&…

free pascal:fpwebview 组件通过JSBridge调用本机TTS

从 https://github.com/PierceNg/fpwebview 下载 fpwebview-master.zip 简单易用。 先请看 \fpwebview-master\README.md cd \lazarus\projects\fpwebview-master\demo\js_bidir 学习 js_bidir.lpr &#xff0c;编写 js_bind_speak.lpr 如下&#xff0c;通过JSBridge调用本机…

【软件设计模式之命令模式】

文章目录 一、命令模式简介1. 定义2. 核心概念a. 命令&#xff08;Command&#xff09;b. 接收者&#xff08;Receiver&#xff09;c. 调用者&#xff08;Invoker&#xff09;d. 客户端&#xff08;Client&#xff09; 二、命令模式的实际应用1. 命令模式的优点a. 解耦发起者和…

协调尺度:特征缩放在机器学习中的重要作用

目录 一、介绍 二、背景知识 三、了解功能缩放 四、特征缩放方法 五、特征缩放的重要性 六、实际意义 七、代码 八、结论 一、介绍 特征缩放是机器学习和数据分析预处理阶段的关键步骤&#xff0c;在优化各种算法的性能和效率方面起着至关重要的作用。本文深入探讨了特征缩放的…

什么是内存对齐?如何计算结构体类型的大小?

结构体内存对齐与结构体类型的大小 运行这样一段代码 我们想要计算这两个结构体类型的大小&#xff0c;而这个结构体类型里面成员变量有一个int类型和两个char类型&#xff0c;大小加起来应该是六个字节&#xff0c;但是我们打印出来发现&#xff0c;结果居然是12和8&#xff…

4.5 用qml实现横向滑动的多个页面

一、效果展示 带上main.qml&#xff0c;一共4个page。第4个page上面有一个按钮&#xff0c;点击则会直接返回的到首页&#xff0c;也就是第1个page。 二、main.qml中的代码 import QtQuick import QtQuick.Controls //若要使用控件&#xff0c;则导入该包ApplicationWindow …

记录 | ubuntu pyqt5 pycharm配置

Ubuntu16.04pycharmpyqt5安装与配置_ubuntu pycharm pyqt5-CSDN博客pycharm激活码 6ZUMD7WWWU-eyJsaWNlbnNlSWQiOiI2WlVNRDdXV1dVIiwibGljZW5zZWVOYW1lIjoiSmV0cyBHcm91cCIsImFzc2lnbmVlTmFtZSI6IiIsImFzc2lnbmVlRW1haWwiOiIiLCJsaWNlbnNlUmVzdHJpY3Rpb24iOiIiLCJjaGVja0NvbmN…

Apache httpd 换行解析漏洞复现(CVE-2017-15715)

Web页面&#xff1a; 新建一个一句话木马&#xff1a; 0.php <?php system($_GET[0]); ?> 上传木马&#xff0c; burpsuite 抓包。 直接上传是回显 bad file。 我们查看数据包的二进制内容&#xff08;hex&#xff09;&#xff0c;内容是以16进制显示的&#xff0c;…

【Go语言】第一个Go程序

第一个 Go 程序 1 安装 Go Go语言官网&#xff1a;Download and install - The Go Programming Language&#xff0c;提供了安装包以及引导流程。 以 Windows 为例&#xff0c;进入windows安装包下载地址&#xff1a;All releases - The Go Programming Language&#xff0c…

指针和句柄的区别和联系

句柄&#xff08;Handle&#xff09;和指针&#xff08;Pointer&#xff09;都是在计算机编程中用于引用内存地址的概念&#xff0c;但它们有一些关键的区别和联系。 区别&#xff1a; 指向对象的类型&#xff1a; 指针&#xff1a; 指针是直接存储一个变量或对象的内存地址的…