首页 > 其他分享 >光脚丫思考Vue3与实战:第05章 计算属性和侦听器 第03节 计算属性的其他玩法

光脚丫思考Vue3与实战:第05章 计算属性和侦听器 第03节 计算属性的其他玩法

时间:2023-06-29 13:35:22浏览次数:39  
标签:03 依赖 05 代码 计算 message class 属性


下面是本文的屏幕录像的在线视频:



温馨提示:

1、视频下载:线上视频被压缩处理,可以下载高清版本:

链接:https://pan.baidu.com/s/1h600_BRR9O2Lr87zVQNgEw 提取码:dgpu 

2、示例代码https://pan.baidu.com/s/1rCqbY_j35FcRWRZbuOfHqg 提取码:79kh 

下图是文章大纲:

光脚丫思考Vue3与实战:第05章 计算属性和侦听器 第03节 计算属性的其他玩法_Vue.js 3.x

一、概述

本篇文章介绍了Vue.js 3.x的计算属性的一些其他玩法,具体包括:依赖其他计算属性、依赖其他实例的数据、动态的设置样式。

二、依赖其他计算属性

计算属性可以依赖其他计算属性。如下示例代码所示:

光脚丫思考Vue3与实战:第05章 计算属性和侦听器 第03节 计算属性的其他玩法_Vue_02

示例代码:07-Dependency1.html
上述代码声明了2个计算属性:fullName和message,其中,计算属性message依赖于计算属性fullName,因此,当fullName的数据改变之后,message的数据也会同步做响应式改变。而计算属性fullName又依赖于普通数据项firstName和lastName,因此,当firstName和lastName任何一个数据项发生改变之后,fullName就会同步改变,而同时message也会实时同步,界面上显示的内容也会同步更新。

三、依赖其他实例的数据

计算属性不仅可以依赖当前Vue实例的数据,还可以依赖其他Vue实例的数据,例如下面的代码:

光脚丫思考Vue3与实战:第05章 计算属性和侦听器 第03节 计算属性的其他玩法_Vue实例_03

示例代码:08-Dependency2.html
这里我们创建了两个Vue实例vm1和vm2, 在vm2的计算属性reversedMessage中,依赖的是vm1的数据message,所以当message变化时,实例vm2的计算属性也会变化。这样的用法在在多人协同开发时很常用,因为你写的一个组件所用得到的数据需要依赖他人的组件提供。后续的相关章节中我们详细沟通。

四、设置样式 

用于动态地设置元素的样式名称class和内联样式style。如下代码所示:

光脚丫思考Vue3与实战:第05章 计算属性和侦听器 第03节 计算属性的其他玩法_Vue_04

示例代码:09-CssStyle.html
上面的代码中,类名active依赖于数据isActive,当其为true时,div会拥有类名active,为false时则没有。类名error则依赖于isError数据项,为true是,div会添加类名error,否则就没有。因此,上例最终渲染完的结果是:

光脚丫思考Vue3与实战:第05章 计算属性和侦听器 第03节 计算属性的其他玩法_数据_05

总结:
1、:class内的表达式每项为真时,对应的类名就会加载。
2、:class可以与普通class共存。
3、当:class的表达式过长或逻辑复杂时,还可以绑定一个计算属性。
4、也可以直接绑定一个Object类型的数据,或者使用类似计算属性的methods。
5、当绑定的数据项发生改变的时候,关联的样式也会响应式的改变。

五、参考资料

标签:03,依赖,05,代码,计算,message,class,属性
From: https://blog.51cto.com/u_3319687/6581494

相关文章

  • 03-ES6语法:模板字面量(Template Literals)
    ES6引入了模板字面量(TemplateLiterals),对多行字符串和字符串占位符的操作进行了增强。下面我们分别进行说明和演示。下面是简单的屏幕分享,不爱看文字的同道中人可以看视频。-_-一、多行字符串(Multi-lineStrings)首先我们来看下ES5中是如何表示多行字符串的,示例代码如下://ES5......
  • 光脚丫学LINQ(003):排序结果集
    视频演示:http://u.115.com/file/f2e2959888 通常可以很方便地将返回的数据进行排序。orderby子句将使返回的序列中的元素按照被排序的类型的默认比较器进行排序。例如,下面的查询可以扩展为按Name属性对结果进行排序。因为Name是一个字符串,所以默认比较器执行从A到Z的字母......
  • 光脚丫学LINQ(005):数据表之间的联接查询
      视频演示:http://u.115.com/file/f29a440f67 联接运算创建数据源中没有显式建模的序列之间的关联。例如,您可以执行联接来查找符合以下条件的所有客户:位于巴黎,且从位于伦敦的供应商处订购产品。在LINQ中,join子句始终针对对象集合而非直接针对数据库表运行。在LINQ中,您不必......
  • appium报错AttributeError: 'WebDriver' object has no attribute 'find_element_by_i
    解决方法:fromappium.webdriver.common.appiumbyimportAppiumBy#导入AppiumBysearch=driver.find_element(AppiumBy.ID,"com.android.settings:id/search")#编写格式:driver.find_element(by=AppiumBy.ACCESSIBILITY_ID,value='accessibility_id')思考流程:......
  • Codeforces[CF1036B]Diagonal Walking v.2题解
    题目大意很明显,这道题就是求k步之内到达点\((a,b)\),然后尽量走对角线,求能走对角线的最大值。做题思路首先明白一个事实,即一个对角线可以通过增加一步而抵达点不变,如图:我们可以这样思考这道题,在到达目的地以后,剩余步数如果为双数,则在对角线来回走,最后会到目的地。但如果剩......
  • ligntOj 1038(期望)
    题意:给出一个n,一步操作是让n除n的一个随机因子得到新的n,问可以得到新的n是1的步数期望。题解:因为n/1=n这种选择会造成循环,所以需要用到递推,令n变成1的步数期望是f[n],比如n是2,f[2]=1/2(f[2]+1)+1/2(f[1]+1),加1是因为2变成2也需要一步,那么移项后,f[2]=2+f[1]=2+0=......
  • hasattr和getattr判断并调用方法属性
    下面是一个使用hasattr和getattr判断并调用方法属性的示例代码,实现了一个简单的FTP服务器:classFtpServer:defserve_forever(self):#服务器逻辑filename="example.txt"ifhasattr(self,"get"):get_method=getattr(self,"g......
  • 面向对象之绑定方法,非绑定方法,隐藏属性,property装饰器,三大特征
    绑定方法#绑定给类的方法#绑定给对象的方法classStudent():school='SH'def__init__(self,name,age,gender):#self:对象自己self.name=nameself.age=ageself.gender=gender#这个就是绑定给对象的方法,有......
  • Java基础03: 数据类型
    一、Java的数据类型强类型语言要求变量的使用要严格符合规定,所有变量都必须先定义后才能使用弱类型语言Java的数据类型分为两大类基本类型:primitivetype引用类型:referencetype二、示例示例1:publicclassDemo02{publicstaticvoidmain(String[]args){Stringa......
  • Jmeter访问网站返回403(CSRF verification failed. Request aborted.)
    django网站自带CSRF校验,所以jmeter直接请求时会出现校验不通过的情况一、CSRF校验CSRF是指跨站请求伪造,CSRF攻击的流程大概是我们登录网站A后存在本地的cookie,之后打开了另一个危险网站B,这个网站B使用本地cookie向网站A发起请求(该请求不是用户主动发起,是个恶意请求),网站A误以为是......