vue中巧用三元表达式解析
作者:从人到猿 发布时间:2024-05-28 16:03:27
标签:vue,三元,表达式
如何巧用三元表达式
一开始我并不喜欢阅读别人的代码,话说程序员最讨厌的事:写代码要写文档、写代码要写注释、别人的代码没有文档、别人的代码没有注释。后来发现阅读别人的代码虽然很枯燥,但是很锻炼逻辑思维,而且还能学到很多东西,比如我下面要说的这个:
三元表达式的巧妙使用
在某天(其实具体是哪天我也忘了),我在阅读别人的代码时发现一串三元表达式,感觉很6,像是打开新世界的大门一样,顿时感觉只有你想不到的,没有别人做不到的。真的是活到老学到死啊。
下面上代码:
<span
v-for="$index in circles"
class="circle"
:style="{
backgroundColor: activeIndex == $index ? pagerColor : pagerBgColor,
opacity:
pagerColor == pagerBgColor
? activeIndex == $index
? '1'
: '0.4'
: '1'
}"
:key="$index"
></span>
这代码扫一眼看着没毛病啊,就是遍历渲染数据,但是其中三元表达式的使用真的是6到飞起。可能有些大佬一看,有点鄙视我,“垃圾,就一个三元表达式,大惊小怪”,但是我是头一次看到这么写的。其实好多东西不是不会写,而是想不到。就像这个三元表达式,让谁写谁都能写出来,但是就是想不到可以这么写。这也是阅读别人代码的一个好处,可以学到一些骚操作,让自己少写代码,提高工作效率。
回头再说这个三元表达式,我们正常使用三元表达式是这样的:
表达式 (expr1) ? (expr2) : (expr3)
在 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。
而上面代码中把表达式中的值又设为一个表达式,满足条件的时候执行表达式再次判断求值,将三元表达式写成了类似于if判断的东西,减少了代码量而且还增加更加容易读懂
:class=“ “的三元表达式写法
<div class="stepbar">
<div class="stepbar-first"></div>
<div class="stepbar-first-line"></div>
<div v-if="item.applyState===5" class="stepbar-gray"></div>
<div v-else :class="item.applyState===1?'stepbar-red':'stepbar-first'"></div>
<div v-if="item.applyState!==1&&item.applyState!==5" class="stepbar-first-line"></div>
<div v-if="item.applyState!==1&&item.applyState!==4&&item.applyState!==5" :class="item.applyState===2&&item.applyState!==3?'stepbar-red':'stepbar-first'"></div>
<div v-if="item.applyState===4" class="stepbar-gray"></div>
</div>
以上为个人经验,希望能给大家一个参考,也希望大家多多支持asp之家。
来源:https://blog.csdn.net/qq_39200185/article/details/103908605


猜你喜欢
- 1 发送文本信息'''加密发送文本邮件'''def sendEmail(from_addr,
- 1 索引的概念索引(在MySQL中也叫做“键(key)”)是存储引擎用于快速找到记录的一种数据结构,
- 1._thread.start_new_thread(了解)import threadingimport timeimport _threa
- 本文实例讲述了ES6新特性中的let和const命令。分享给大家供大家参考,具体如下:1. let 命令① 在js中是没有块级作用域的,va
- 本文实例为大家分享了Python实现发送QQ邮件的封装代码,供大家参考,具体内容如下封装codeimport smtplibfrom ema
- 目录什么是虚拟 dom?为什么需要虚拟dom?虚拟dom是如何转换为真实dom的?模板和虚拟dom的关系注入挂载完整流程总结什么是虚拟 do
- 本文实例讲述了Python列表list内建函数用法。分享给大家供大家参考,具体如下:#coding=utf8'''&
- Python 爬虫之超链接 url中含有中文出错及解决办法python3.5 爬虫错误:UnicodeEncodeError: 'a
- GBK简体字符集的编码是同时用1个字节和2个字节来表示的。当高位是0x00~0x7f时,为一个字节,高位为0x80以上时用2个字节表示&qu
- 安装环境:centos 5.4mysql版本:mysql 5.1.xx 采用rpm直接安装所需软件: xtrabackup 1.2.22 采
- 本文实例讲述了python实现集中式的病毒扫描功能。分享给大家供大家参考,具体如下:一 点睛本次实践实现了一个集中式的病毒扫描管理
- 目录分区机制SELECT 查询INSERT 操作DELETE 操作UPDATE 操作分区的类型MySQL 的分区的实现方式是对数据表进行一层
- 工具安装主要调用win32库实现分辨率获取和读写,需要安装pywin32示例中是从execl列表中读取需要设置的分辨率,需要安装xlrd用到
- 微信小程序实现一个简单的select下拉框,供大家参考,具体内容如下用的是transform过渡,没用动画看看效果废话不多说,直接上代码wx
- 问题描述我正在用Python 3.4.1来构建一个Django项目。 manage.py runserver 引发Uni
- 描述tan() 返回x弧度的正弦值。语法以下是 tan() 方法的语法:import mathmath.tan(x)注意:tan()是不能直
- MySQL查询语句大家都在用,但是应该如何设计高效合理的MySQL查询语句呢?下面就教您MySQL查询语句的合理设计方法,分享给大家学习学习
- 本文实例讲述了Python数据分析之双色球基于线性回归算法预测下期中奖结果。分享给大家供大家参考,具体如下:前面讲述了关于双色球的各种算法,
- 一、准备工作1、确保jdk已安装成功,并且jdk版本选用1.7以上版本2、准备一台新的主机mysql_mycat放到master的前面做代理
- github主页导入:>>> from fuzzywuzzy import fuzz>>> from f