Vue的四个常用选项

news/2024/11/9 1:54:02/

文章目录

  • 前言
  • 一、四大选项简介
  • 二、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.ppmy.cn/news/3509.html

相关文章

利用JAVA编写计算器思路

1. 在开始写计算器之前&#xff0c;用笔在纸上画出计算器的草图&#xff0c;显示屏的位置&#xff0c; 每个按钮的位置及大小比列。 2. 使用 setLayout(new GridLayout(6, 3, 10, 10));创建容器框框&#xff0c;使 用 JPanel JPanel pane new JPanel(); pane.setLayout(new Bo…

竞拍拍卖管理系统

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a; 网站前台&#xff1a;关于我们、联系我门、公告信息、拍卖物品&#xff0c;拍卖完成 管理员功影&#xff1a; 1、管理关…

【MySQL】浅谈事务与隔离级别

文章目录1. 事务概述2. 事务的特性3. 事务的隔离级别1. 事务概述 什么是事务&#xff1f; 在MySQL中的事务&#xff08;Transaction&#xff09;是由存储引擎实现的&#xff0c;在MySQL中&#xff0c;只有InnoDB存储引擎才支持事务。事务处理可以用来维护数据库的完整性&#x…

如何测试一个空的 JavaScript 对象?

问题描述&#xff1a; 这个问题的答案是社区的努力。编辑现有答案以改进这篇文章。它目前不接受新的答案或交互。 在 AJAX 请求之后&#xff0c;有时我的应用程序可能会返回一个空对象&#xff0c;例如&#xff1a; var a {};我如何检查是否是这种情况&#xff1f; 解决方…

小蓝本 第一本 《因式分解技巧》 第七章 综合运用 笔记 (第七天)

小蓝本 第一本 《因式分解技巧》 第七章 综合运用 笔记 &#xff08;第七天&#xff09;前言换元法好题例2题目解法经验补充例3题目解法经验例5题目解法补充例9题目解法经验补充例10题目解法补充例11题目解法补充例13题目解法习题7题目题解错题题号改错前言 12天攻掉《因式分解…

OS@页面置换算法@抖动@工作集

文章目录页面置换算法页面算法评价最佳置换算法OPT例先进先出算法FIFO最近最久未使用算法LRU时钟置换算法(CLOCK/NRU)访问位的修改页面的换出首次扫描修改二次扫描页架未满页架已满小结改进型CLOCK算法CLOCKCLOCK^CLOCK抖动工作集MMF内存映射文件虚拟存储器性能影响因素页面置换…

代码随想录算法训练营第五十天|123.买卖股票的最佳时机III、 188.买卖股票的最佳时机IV

123.买卖股票的最佳时机III 此题限定了买卖的次数&#xff0c;所以应该用几个状态来记录所对应得利润 至多买卖两次&#xff0c;这意味着可以买卖一次&#xff0c;可以买卖两次&#xff0c;也可以不买卖。 dp数组及下标含义 一天一共就有五个状态&#xff0c; 0 没有操作 1 第…

【笔记】计算机组成原理复习重点——篇1

计算机组成原理复习重点笔记 计算机组成原理计算机体系结构 学科基础必修课 研究生入学考试全国联考45分&#xff0c;占比30% 64学时&#xff0c;4学分&#xff0c;上课56&#xff0c;实验8 教材&#xff1a;计算机组成原理(第二版 ) 唐朔飞 高等教育出版社 目录 第1篇 概论 第…