Vue的四个常用选项

news2024/11/23 15:40:36

文章目录

  • 前言
  • 一、四大选项简介
  • 二、filters(过滤器)
  • 三、computed(计算属性)
  • 四、methods(方法)
  • 五、watch(观察)
  • 总结:


前言

本文讲解了vue.js中的四个常用选项,4个参数选项:filters(过滤器)、computed(计算属性)、methods(方法)、watch(观察),如果本文对你有所帮助请三连支持博主,你的支持是我更新的动力。

在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

一、四大选项简介

我们都知道,定义一个Vue实例的参数选项除了有el(指定挂载的DOM元素)data(实例的数据)之外,还可以定义其他的参数。

今天我们讲Vue实例常用的4个参数选项:filters(过滤器)computed(计算属性)methods(方法)watch(观察)


二、filters(过滤器)

过滤就是一个数据经过了这个过滤之后出来另一样东西,可以从中取得你想要的,或者给那个数据添加点什么装饰,那么过滤器则是过滤的工具。

我们举个例子,如下 :

<body>
	<div class="app">
		{{num1 | toInt}} <br>
		{{num2 | cau | join2}} <br>
		{{num3 | cails}} <br>
		{{str | join | join2}}
	</div>
	<script type="text/javascript">
		let vm=new Vue({
			el:'.app',
			data:{
				num1:33.3,
				num2:25.3,
				num3:30.3,
				str:'hello world'
			},
			filters:{
				toInt(value){
					return parseInt(value)
				},
				cau(value){
					return parseInt(value*0.1)
				},
				cails(value){
					return Math.ceil(value)
				},
				join(value){
					return "2023"+value+"必胜"
				},
				join2(value){
					return value+'ikun'
				}
			}
		})
	</script>
</body>

语法1: {{ message | filterA | filterB }}

message 是作为参数传给filterA 函数,而filterA 函数的返回值作为参数传给filterB 函数,最终结果显示是由filterB 返回的。

语法 2: {{ message | filterA(‘arg1’, arg2) }} 传递参数

<body>
	<div class="app">
		{{num | join("10","22")}}
	</div>
	<div id="app">
		{{num,num3 | join}}
	</div>
	<script type="text/javascript">
		let vm=new Vue({
			el:'.app',
			data:{
				num:2023
			},
			filters:{
				join(value,num1,num2){
					return value +'-'+ num1 +'-'+ num2
				}
			}
		})
		let vm2=new Vue({
			el:'#app',
			data:{
				num:2,
				num3:3
			},
			filters:{
				join(value,value2){
					return value +value2
				}
			}
		})
	</script>
</body>

三、computed(计算属性)

有时候,我们拿到一些数据,需要经过处理计算后得到的结果,才是我们要展示的内容。
比如:我们有四个数,但是需要展示的是这四个数字的和。这种情况,就适合用计算属性computedcomputed 的定义语法和过滤器 filters类似,但是用法不一。

演示如下:

<body>
	<div class="app">
		{{sum}}
	</div>
	<script type="text/javascript">
		let vm=new Vue({
			el:'.app',
			data:{
				num1:1,
				num2:2,
				num3:3,
				num4:4
			},
			computed:{
				sum(){//不能用箭头函数
					return this.num1+this.num2+this.num3+this.num4
				}
			}
		})
	</script>
</body>

四、methods(方法)

顾名思义,在methods中,我们可以定义一些方法,供组件使用。

methods 将被混入到 Vue 实例中。可以直接通过 app 实例访问这些方法,或者在指令表达式中使用。
方法中的 this 自动绑定为 Vue 实例。不应该使用箭头函数来定义 method 函数 (例如 add: ()=>this.a++)。理由是箭头函数绑定了父级作用域的上下文,所以 this 将不会按照期望指向 Vue 实例,this.a 将是 undefined。

演示如下:

<body>
	<div id="app">
		{{msg}}
		<button type="button" v-on:click='add()'>加1</button>
	</div>
	<script type="text/javascript">
		let vm=new Vue({
			el:'#app',
			data:{
				msg:0
			},
			methods:{
				add(){
					return this.msg++
				}
			}
		})
	</script>
</body>

五、watch(观察)

watch 选项是 Vue 提供的用于检测指定的数据发生改变的api。
上面点击按钮msg的值加1的例子,不就是数据发生变化了吗?我们就用watch 选项来监听数字msg是否发生了变化,如果监听到了变化,我们就在控制台输入msg的最新值。

演示如下:

<body>
	<div id="app">
		{{msg}}
		<button type="button" v-on:click='add()'>加1</button>
	</div>
	<script type="text/javascript">
		let vm=new Vue({
			el:'#app',
			data:{
				msg:0
			},
			methods:{
				add(){
					return this.msg++
				}
			},
			watch:{//监测
				msg(val){
					console.log("值发生了变化"+val)
				}
			}
		})
	</script>
</body>

当需要数据在异步变化或者开销较大时,执行更新,使用 watch 会更好一些;而 computed 不能进行异步操作;


总结:

区别在于:

  • 调用方法不同:computed 调用时不需要加(),而 methods 方法调用时需要加括号(),起名字

  • 驻留内存的方式不同Computed 具有缓存功能,相关的属性会一直驻留内存,可以多次进入页面调用而不需要重新加载Methods 需要每次进入[刷新]页面都需要重新加载数据量大,需要缓存的时候用 computed ;每次确实需要重新加载,不需要缓存时用 methods 。

  • watch 的依赖则是单个的,它每次只可以对一个变量[mustache]进行监控,一般用在控制台对
    变量进行监控

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

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

相关文章

数据结构——归并排序

坚持看完&#xff0c;结尾有思维导图总结 这里写目录标题归并排序的思路归并算法的图解具体程序对性质的分析归并排序的非递归版本总结归并排序的思路 首先第一个问题是&#xff0c;什么是归并排序&#xff1f; 官方的说法: 归并排序&#xff08;MERGE-SORT&#xff09;是建立…

pikachu靶场-7 不安全的文件下载和上传

不安全的文件下载和上传 不安全的文件下载 文件下载&#xff08;unsafedownload&#xff09;漏洞概述 很多网站都会提供文件下载功能&#xff0c;即用户可以通过点击下载链接&#xff0c;下载到链接所对应的文件。 但是&#xff0c;如果文件下载功能设计不当&#xff0c;则…

基于51单片机的数字频率计设计

仿真原理图&#xff1a; 程序运行图&#xff1a; 部分程序&#xff1a; #define LED_GLOBAL 1 #include "led.h" /******************************************************************************************* *函数名称&#xff1a;delay_us(uint us) *函数…

15.JavaScript 02

文章目录一、DOM简单学习&#xff1a;为了满足案例要求1、DOM知识点简单学习2、事件简单学习3、案例1&#xff1a;电灯开关二、BOM1、概念2、组成3、Window&#xff1a;窗口对象1. Window窗口对象知识点2. 案例2&#xff1a;轮播图4、Location&#xff1a;地址栏对象1. Locatio…

手写Spring5(资源加载Spring.xml解析和注册Bean对象)

文章目录目标设计思路项目结构一、实现1、资源加载接口定义和实现获取ClassPath下的文件信息获取指定文件路径的方式读取文件信息获取HTTP的方式读取云服务的文件2、包装资源加载器定义和实现-策略模式的体现包装资源加载器实现3、Bean定义读取接口4、Bean定义抽象类实现5、解析…

[激光原理与应用-53]:《激光焊接质量实时监测系统研究》-4-激光焊接系统软件设计

目录 前言&#xff1a; 4.1 操作系统和开发平台 4.1.1 Windows2000 操作系统概述 4.1.2 虚拟仪器开发平台软件 LabWindows/CVI 4.2 总体软件设计 4.2.1 数据采集程序 4.2.2 软件实现的功能 4.2.2.1 主机软件的数据采集 4.2.2.2 主机软件的数据分析&#xff08;核心&am…

暗棕红色粉末ICG-COOH, ICG Carboxlaic acid,181934-09-8,ICG和PEG链接可在体内长循环

英文名&#xff1a;ICG-COOH ICG Carboxlaic acid CAS No:181934-09-8 外观&#xff1a;暗棕红色粉末 溶解度&#xff1a;在水或甲醇中溶解 纯度&#xff1a;90% 结构式&#xff1a; 西安凯新近红外荧光染料Near IRDyes激发和发射波长和颜色图 ICG NHS ester的NHS可以和蛋白…

八、闭包高级、对象、构造函数、实例化

闭包高级、对象、构造函数、实例化 闭包高级 函数被定义时生成[[scope]]->生成scope chain -> scope chain中存着上级的环境。 函数被执行的前一刻&#xff08;预编译过程&#xff09;&#xff0c;生成自己的AO&#xff0c;排到scope chain的最顶端。 函数执行完毕的…

基于天鹰算法优化的lssvm回归预测-附代码

基于天鹰算法优化的lssvm回归预测 - 附代码 文章目录基于天鹰算法优化的lssvm回归预测 - 附代码1.数据集2.lssvm模型3.基于天鹰算法优化的LSSVM4.测试结果5.Matlab代码摘要&#xff1a;为了提高最小二乘支持向量机&#xff08;lssvm&#xff09;的回归预测准确率&#xff0c;对…

DFA的最小化

一、实验目的 1&#xff0e;熟练掌握DFA与NFA的定义与有关概念。 2&#xff0e;理解并掌握确定的有穷自动机的最小化等算法。 二、实验要求 输入&#xff1a;DFA 输出&#xff1a;最小化的DFA 三、实验过程 1&#xff0e;化简DFA关键在于把它的状态集分成一些两两互不相交…

一、ArrayList源码解读

ArrayList源码 一、前言 ArrayList在日常的开发中使用频率非常高&#xff0c;但是JDK是如何去设计ArrayList的&#xff0c;这就需要我们好好去了解底层实现原理&#xff0c;这样使用起来才能做到心中有数&#xff1b;当然&#xff0c;还能应付面试。本篇文章会围绕ArrayList的…

王道操作系统网课笔记合集

介绍 操作系统是什么&#xff1f; 计算机结构大概分为四层&#xff1a; 用户应用程序操作系统硬件 操作系统是一类系统软件&#xff0c;调度硬件资源&#xff0c;合理分配管理软件&#xff08;因此操作系统又被称作资源管理器&#xff08;resource manager&#xff09;&…

简洁而优美的结构 - 并查集 | 一文吃透 “带权并查集” 不同应用场景 | “手撕” 蓝桥杯A组J题 - 推导部分和

&#x1f49b;前情提要&#x1f49b; 本章节是每日一算法的并查集&带权并查集的相关知识~ 接下来我们即将进入一个全新的空间&#xff0c;对代码有一个全新的视角~ 以下的内容一定会让你对数据结构与算法有一个颠覆性的认识哦&#xff01;&#xff01;&#xff01; ❗以…

【Unity 3D 从入门到实践】Unity 3D 预制体

目录 一&#xff0c;预制体介绍 二&#xff0c;创建预制体 三&#xff0c;实例化预制体 一&#xff0c;预制体介绍 预制体是 Unity 3D 提供的保存游戏对象组件和属性的方法&#xff0c;通过预制体可以快速的实例化挂载不同组件的游戏对象&#xff0c;从而减少开发难度&…

使用光隔离的调制器在电机控制中进行安全、准确的隔离电流传感

介绍 在工业电机或伺服控制应用中&#xff0c;准确的电流测量是控制回路的一部分。目前的测量不仅需要尽可能准确&#xff0c;还需要安全可靠。 工业电机或伺服控制系统通常包含高压&#xff0c;在过流或短路等故障事件中&#xff0c;这些情况需要快速检测和整流&#xff0c…

Android开发基础

文章目录前言工程项目结构hello world界面布局代码操作新页面页面间跳转简单计算器的实现思路前端控件传递数据后端实现逻辑两个Activity之间传值发送数据返回数据SQLite简单使用利用语句写在后面写在后面前言 安卓(Android)是一种基于Linux内核的开源操作系统 使用java、kot…

不就是性能测试吗?竟让我一个月拿了8个offer,其中两家都是一线大厂

随着互联网的发展&#xff0c;单机软件的逐渐减少&#xff0c;系统从单机步入“云”时代&#xff0c;软件系统功能和规模也越来越庞大&#xff0c;盗版也越来越难&#xff0c;用户规模也越来越大&#xff0c;企业盈利随之爆发式地增长。 随着用户数量的增多&#xff0c;系统稳…

Chrome浏览器修改用户资料(User Data)的存放位置

2022.12.13一、 原先采用的在快捷方式中修改目标的方法&#xff0c;没有效果。二、创建链接1. 复制2. 删除3. 创建链接mklink参考用于缓解C盘压力&#xff0c;将浏览器用户数据存放于其他的指定位置。简单记录一下操作步骤。 其中用户数据可以如此查找&#xff0c;在浏览器地址…

数字虚拟人发展简史

虚拟人的发展史就是技术的发展史 作为元宇宙时代的基石&#xff0c;虚拟人的发展历史与制作技术的进步高度相关。在元宇宙概念中&#xff0c;未来每个用户都将依托虚拟人作为自己的化身进入虚拟世界中探索&#xff0c;要达成这个目的&#xff0c;就要求数字虚拟人不仅拥有人的…

java计算机毕业设计ssm智慧消防维保系统后端设计与实现3cmg0(附源码、数据库)

java计算机毕业设计ssm智慧消防维保系统后端设计与实现3cmg0&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都…