【学Vue就像玩一样】什么是计算属性?什么使监视属性?
创始人
2024-05-05 12:27:20
0

 

目录

1.计算属性

2.监视属性

2.1监视属性

2.2深度监视

3.computed和watch的区别


本栏会细致的将Vue划分为两大模块,基础篇,进阶篇。想要顺利通关vue篇首先要拥有三剑客,当然node ajax法宝也会辅佐你通关的,在学习的途中如果遇到了问题,可以试着回顾一下之前的情节,以便于更好的推进主线剧情,准备出发!

1.计算属性

计算属性可用于快速计算视图(View)中显示的属性。这些计算将被缓存,并且只在需要时更新。 在Vue中有多种方法为视图设置值: 使用指令直接将数据值绑定到视图; 使用简单的表达式对内容进行简单的转换; 使用过滤器对内容进行简单的转换(晦涩难懂的很

举个例子

我们要实现这样一个需求:说有个人啊叫山鱼,我们要把他的名和姓分开,来渲染到页面种,这该怎么做呢?

方法1:直接使用插值语法

直接再data里面写个姓写个名在使用插值语法插进去就可以了,虽然看起来非常简单,但是一旦传入的数据多了起来,就会使代码看起来很臃肿,后期进行维护也比较艰难

姓:
名:
姓名:{{firstName}}-{{lastName}}

方法二:使用计算属性

我们在这里定义了一个计算属性fallName。

更改此应用的data中firstName和lastName值后,可以看到 fallName也会随之改变。

在模板中使用计算属性的方式和一般的属性并无二致。Vue 会检测到this.fallName依赖于this

.firstName和lastName所以当所以data数据改变时,任何依赖于this.fallName的绑定都将同时更新。这种计算属性可以很好的将代码臃肿的问题解决掉也利于维护。

姓:
名:
姓名:{{fullName}}

简写方式

姓:
名:
姓名:{{fullName}}

2.监视属性

2.1监视属性

1.当被监视的属性变化时,回调函数自动调用,进行相关操作

2.监视的属性必须存在,才能进行监视

3.监视的两种写法:

(1) . new Vue时传入watch配置

(2) .通过vm. $watch监视

举个小例子


今天我很{{info}}

2.2深度监视

(1)Vue中的watch默认不监测对象内部值的改变(层)

(2)配置deep:true可以监测对象内部值改变(多层)。

(3)Vue自身可以监测对象内部值的改变,但Vue提供的watch默认不可以

(4)使用watch时根据数据的具体结构,决定是否采用深度监视

 watch: {// 完整写法// mood: {// deep:true//     handler(newValue, oldValue) {//         console.log("mood被修改", newValue, oldValue);//     }// }// 简写(但是不能配置immediate:true,deep:true)mood(newValue, oldValue) {console.log('mood被修改', newValue, oldValue);}}})// 正常写法vm.$watch('mood',{immediate:true,deep:true,handler(newValue, oldValue) {console.log('mood被修改', newValue, oldValue);}})// 简写(但是不能配置immediate:true,deep:true)vm.$watch('mood',function(newValue, oldValue){console.log('mood被修改', newValue, oldValue);})

3.computed和watch的区别

1.监视属性可以完成计算属性的所有功能,但是computed无法完成,watch可以进行的异步操作。

2.两个重要的小原则:

1.所被Vue管理的函数写成普通函数,这样this的指向才是vm或组件实例对象。

2.所有不被Vue所管理的函数(例如定时器的回调函数、ajax的回调函数等),最好写成箭头函数, 这样this的指向才是vm或组件实例对象。

点赞👍:您的赞赏是我前进的动力!
收藏⭐:您的支持我是创作的源泉!
评论✍:您的建议是我改进的良药!
山鱼🦈的个人社区:欢迎大家加—— 山鱼社区

相关内容

热门资讯

【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...