【Vue】Vue扫盲(三)计算属性和监听器

【Vue】Vue扫盲(一)事件标签、事件修饰符:@click.prevent @click.stop @click.stop.prevent、按键修饰符、及常用指令

【Vue】Vue扫盲(二)指令:v-for 、v-if、v-else-if、v-else、v-show

文章目录

    • 1、 计算属性(computed)
    • 2、监听器 watch
    • 3、过滤器(局部过滤器、全局过滤器)

1、 计算属性(computed)

某些结果是基于页面上之前的数据实时计算出来的, 我们可以利用计算属性。 来完成
示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>计算属性和监听器</title>
</head>
<body><div id="app" style="border: 1px red; margin: auto;"><ul><li>西游记,价格{{xyjPrive}},数量:<input type="number" v-model="xyjNum"/></li><li>水浒传,价格{{shzPrice}},数量:<input type="number" v-model="shzNum"/></li><li>总价{{totalPrice}}</li></ul></div><script src="../node_modules/vue/dist/vue.js"></script><script>let vm = new Vue({el:"#app",data:{xyjPrive:99.98,shzPrice:98,xyjNum:1,shzNum:1},methods: {},computed:{totalPrice(){return this.xyjPrive*this.xyjNum+this.shzPrice*this.shzNum;}}})</script>
</body>
</html>

结果1:
在这里插入图片描述
结果2:
在这里插入图片描述

2、监听器 watch

watch 可以让我们监控一个值的变化。 从而做出相应的反应。
示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>计算属性和监听器</title>
</head>
<body><div id="app" style="border: 1px red; margin: auto;"><ul><li>西游记,价格{{xyjPrive}},数量:<input type="number" v-model="xyjNum"/></li><li>水浒传,价格{{shzPrice}},数量:<input type="number" v-model="shzNum"/></li><li>总价{{totalPrice}}</li>提示信息:{{msg}}</ul></div><script src="../node_modules/vue/dist/vue.js"></script><script>let vm = new Vue({el:"#app",data:{xyjPrive:99.98,shzPrice:98,xyjNum:1,shzNum:1,msg:""},methods: {},computed:{totalPrice(){return this.xyjPrive*this.xyjNum+this.shzPrice*this.shzNum;}},watch:{ //watch可以让我们监控一个值的变化,从而做出反应xyjNum:function(newVal,oldVal){ //同等写法:xyjNum(newVal,oldVal)if(newVal>=3){this.msg="西游记库存没有更多了";this.xyjNum=3;}else{this.msg="";}}}})</script>
</body>
</html>

效果1:
西游记的数量不能超过3,如果超过3,则无法在增加,一直是三。并给出提示库存超出
在这里插入图片描述

在这里插入图片描述

效果2:
在这里插入图片描述
在这里插入图片描述

3、过滤器(局部过滤器、全局过滤器)

过滤器不改变真正的data, 而只是改变渲染的结果, 并返回过滤后的版本。 在很多不同的
情况下, 过滤器都是有用的, 比如尽可能保持 API 响应的干净, 并在前端处理数据的格式。

示例: 展示用户列表性别显示男女

  • 下面的 genderFilter 一个局部过滤器,只能在当前的Vue监听的视图中使用
  • gFilter 是一个全局过滤器,在全局都可以用
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>过滤器</title>
</head><body><!-- 过滤器通常用来处理文本格式化的操作,过滤器可以用在两个地方,双花括号插值和v-bind表达式 --><div id="app"><ul><li v-for="user in userList" :key="user.id">{{user.id}}==>{{user.name}}==>{{user.gender}}==>{{user.gender ==1?"男":"女"}} <!-- 简单的可以通过三目运算符来完成转换,如果复杂的则通过过滤器进行转化 -->====使用局部过滤器后的结果:{{user.gender|genderFilter}}====》 使用全局过滤器后的结果:{{user.gender|gFilter}}</li> <!-- 上面的{{user.gender|genderFilter}} 中的 | 是管道符的作用 ,是把前面user.gender的值传给了 后面的genderFliter中进行处理,并返回一个值--></ul></div><script src="../node_modules/vue/dist/vue.js"></script><script>//第一个参数:过滤器名字,第二个参数是函数体(真正的处理逻辑)Vue.filter("gFilter",function(val){if (val == 1) {return "男~~~";} else {return "女~~~";}})let vm = new Vue({el: "#app",data: {userList: [{ id: 1, name: 'jacky', gender: 1 },{ id: 2, name: 'peter', gender: 0 }]},methods: {},filters: {//由于这个过滤器写在单个的Vue实例中,所以叫做局部过滤器,我们还有全局过滤器一说genderFilter(val) {if (val == 1) {return "男";} else {return "女";}}}})</script>
</body></html>

结果: 1转换成了男 2 转换成了女
在这里插入图片描述

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

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

相关文章

|动漫爬取|001_djangodjango基于Spark的国漫推荐系统的设计与实现2024_tpd6q1o4

目录 系统展示 开发背景 代码实现 项目案例 获取源码 博主介绍&#xff1a;CodeMentor毕业设计领航者、全网关注者30W群落&#xff0c;InfoQ特邀专栏作家、技术博客领航者、InfoQ新星培育计划导师、Web开发领域杰出贡献者&#xff0c;博客领航之星、开发者头条/腾讯云/AW…

【3dgs】3DGS与NeRF对比

以下是 3DGS&#xff08;3D Geometry Sensing&#xff09;与 NeRF&#xff08;Neural Radiance Fields&#xff09;对比表格&#xff1a; 更加详细的资料&#xff0c;轻参考&#xff1a; NERF/3DGS 对比维度3DGS (3D Geometry Sensing)NeRF (Neural Radiance Fields)基本原理…

透过 Diffusion Transformer 探索生成式模型的技术演进

SiT: Exploring Flow and Diffusion-based Generative Models with Scalable Interpolant Transformers 一、前言 扩散模型为代表的生成式模型&#xff0c;以其深刻的还原论的哲学原理作为内在基础&#xff0c;辅以机器学习领域各类优秀的模型设计&#xff0c;在各个学术和应…

性能与体验登顶,海马云电脑重新定义行业,领跑未来工作与娱乐方式

&#xff08;图片来源&#xff1a;Pixels&#xff09; 一个行业的增长拐点正在到来。 数科星球原创 作者丨苑晶 编辑丨大兔 2024年&#xff0c;《黑神话悟空》来到。受此刺激&#xff0c;云电脑行业迎来发展的春天。 作为一款3A级游戏大作&#xff0c;其对图形处理单元&…

### 更新数据库时出错。原因:java.sql.SQLException: No database selected

更新数据库时出错。原因&#xff1a;java.sql.SQLException: No database selected 问题&#xff1a;原因&#xff1a;解决办法&#xff1a; 问题&#xff1a; 在基于idea环境中学习搭建mybatis框架时&#xff0c;MySQL数据库执行插入语句遇到以下异常&#xff1a; com.intel…

【含文档】基于Hadoop平台的大学多媒体教学管理系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

【嵌入式】手把手教你入门STM32的GPIO:初识GPIO输出

1.GPIO简介 STM32是一系列基于ARM Cortex-M内核的32位微控制器。该系列微控制器广泛应用于计算机、通讯、工业自动化、消费电子、汽车电子、医疗仪器及家庭电器等领域。该系列控制器具有高性能、低功耗、智能化等特点。其中&#xff0c;GPIO就是STM32控制器中的一种重要的通用输…

《向量数据库指南》——Naive RAG的复杂问题困境

哈哈,各位向量数据库领域的探索者们,大家好!我是大禹智库的向量数据库高级研究员王帅旭,也是《向量数据库指南》的作者。今天,咱们就来聊聊Naive RAG(Retrieval-Augmented Generation,检索增强生成)方法的那些事儿,特别是它在处理复杂问题时的局限性。相信我,这篇文章…

ros1编译wpr_simulation库

目录 安装项目依赖包编译将环境参数加载到终端程序中运行编译好的ros程序 首先你下载好这个库以后。 安装项目依赖包 scripts库中&#xff0c;存放的是一些依赖项安装脚本以及python脚本。 进入到这个路径的终端。 输入 ./install_for_noetic.sh编译 输入下面命令&#xf…

轮转数组【补充】

本章概述 前情回顾方法一方法二总结彩蛋时刻&#xff01;&#xff01;&#xff01; 前情回顾 点击&#xff1a;轮转数组。 在上面一章的《初阶数据结构【1】》里面&#xff0c;咱们通过轮转数组引出了算法复杂度的概念。咱们当时写的那个算法有点小问题&#xff0c;38个测试用…

SpringBoot技术在人事管理中的应用:系统开发全解析

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统&#xff0c;它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等&#xff0c;非常适…

windows下载配置CAS单点登录

下载 github下载 云盘瞎子啊 版本对应jdk&#xff0c;根据自身环境下载对应版本的cas。 安装 下载完成之后解压 按照.md文档执行打包命令 build.bat package配置 如果不用https&#xff0c;需要进行以下配置&#xff1a; 修改配置文件application.properties 在最后一行…

《大规模语言模型从理论到实践》第一轮学习--Fine-tuning微调

第一轮学习目标&#xff1a;了解大模型理论体系 第二轮学习目标&#xff1a;进行具体实操进一步深入理解大模型 从大语言模型的训练过程来理解微调 大预言模型训练主要包含四个阶段&#xff1a;预训练、有监督微调、奖励建模、强化学习。 预训练&#xff08;Pretraining&…

大数据-170 Elasticsearch 云服务器三节点集群搭建 测试运行

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; 目前已经更新到了&#xff1a; Hadoop&#xff08;已更完&#xff09;HDFS&#xff08;已更完&#xff09;MapReduce&#xff08;已更完&am…

注意力机制2024持续发力!多尺度卷积+Attention一举拿下高分!模型准确率几乎100%

如何构建出更强大灵活的深度学习模型&#xff1f;或许我们可以考虑一个先进的方法&#xff1a;多尺度卷积注意力机制。 多尺度卷积先提供丰富的特征信息&#xff0c;注意力机制再从中筛选出关键信息&#xff0c;这样结合起来&#xff0c;不仅可以进一步提高模型的识别精度和效…

ubuntu中多cuda版本兼容问题

当ubuntu中已经有老版本的cuda时&#xff0c;按正常步骤直接下载新的cuda和cudnn&#xff0c;只需要注意在下载新的cuda版本时&#xff0c;出现“A symlink already exists at /usr/local/cuda. Update to this installation?”&#xff0c;选择“no”&#xff0c;之后按如下的…

redis与springBoot整合

前提 要实现,使用Redis存储登录状态 需要一个完整的前端后端的项目 前端项目搭建 解压脚手架 安装依赖 配置请求代理 选做: 禁用EsLint语法检查 Vue Admin Template关闭eslint校验&#xff0c;lintOnSave&#xff1a;false设置无效解决办法_lintonsave: false-CSDN博客 …

【精选】基于SpringBoot+Vue的生鲜交易系统设计与实现(源码+定制+开发)

博主介绍&#xff1a; ✌我是阿龙&#xff0c;一名专注于Java技术领域的程序员&#xff0c;全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师&#xff0c;我在计算机毕业设计开发方面积累了丰富的经验。同时&#xff0c;我也是掘金、华为云、阿里云、InfoQ等平台…

智能健康推荐:SpringBoot技术应用

5系统详细实现 5.1 管理员模块的实现 5.1.1 用户管理 基于智能推荐的卫生健康系统的系统管理员可以管理用户管理&#xff0c;可以对用户管理信息添加修改删除以及查询操作。具体界面的展示如图5.1所示。 图5.1 用户管理信息管理界面 5.1.2 科室类型管理 系统管理员可以查看对…

C++进阶——多态

目录 一、多态的概念 二、多态的实现 1.逻辑条件 2.代码层面 3.一个经典题目 4.虚函数重写的其它问题 4.1协变&#xff08;了解&#xff09; 4.2析构函数重写 4.3 override和final 4.4重载、重写&#xff08;覆盖&#xff09;和隐藏的对比 5.纯虚函数和抽象类 三、…