vue中巧用三元表达式解析

作者:从人到猿 时间:2024-05-28 16:03:27 

如何巧用三元表达式

一开始我并不喜欢阅读别人的代码,话说程序员最讨厌的事:写代码要写文档、写代码要写注释、别人的代码没有文档、别人的代码没有注释。后来发现阅读别人的代码虽然很枯燥,但是很锻炼逻辑思维,而且还能学到很多东西,比如我下面要说的这个:

三元表达式的巧妙使用

在某天(其实具体是哪天我也忘了),我在阅读别人的代码时发现一串三元表达式,感觉很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到飞起。可能有些大佬一看,有点鄙视我,&ldquo;垃圾,就一个三元表达式,大惊小怪&rdquo;,但是我是头一次看到这么写的。其实好多东西不是不会写,而是想不到。就像这个三元表达式,让谁写谁都能写出来,但是就是想不到可以这么写。这也是阅读别人代码的一个好处,可以学到一些骚操作,让自己少写代码,提高工作效率。

回头再说这个三元表达式,我们正常使用三元表达式是这样的:

表达式 (expr1) ? (expr2) : (expr3)  

在 expr1 求值为 TRUE 时的值为 expr2,在 expr1 求值为 FALSE 时的值为 expr3。

而上面代码中把表达式中的值又设为一个表达式,满足条件的时候执行表达式再次判断求值,将三元表达式写成了类似于if判断的东西,减少了代码量而且还增加更加容易读懂

:class=&ldquo; &ldquo;的三元表达式写法

vue中巧用三元表达式解析

<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

标签:vue,三元,表达式
0
投稿

猜你喜欢

  • 使用php判断网页是否gzip压缩

    2024-06-05 09:47:41
  • Python中bisect的用法

    2023-11-05 08:47:53
  • Django csrf校验的实现

    2023-10-01 14:49:40
  • python3+PyQt5实现自定义窗口部件Counters

    2021-05-21 10:47:47
  • php购物车实现方法

    2023-11-16 22:54:51
  • MySQL查询全部数据集结果不一致问题解决方案

    2024-01-21 23:51:20
  • python实现读取大文件并逐行写入另外一个文件

    2021-02-03 21:10:45
  • 分类、属性、关键词与Tag

    2009-08-27 12:57:00
  • Python 实现图片转字符画的示例(静态图片,gif皆可)

    2023-04-11 13:42:38
  • jQuery在去除缓存数据的一个失误

    2009-12-14 20:40:00
  • python通过imaplib模块读取gmail里邮件的方法

    2023-11-03 04:24:42
  • Vue 全部生命周期组件梳理整理

    2023-07-02 16:32:44
  • 远程连接mysql错误代码1130的解决方法

    2024-01-14 06:54:05
  • PyCharm导入python项目并配置虚拟环境的教程详解

    2023-08-18 13:31:41
  • 详解go语言单链表及其常用方法的实现

    2024-02-21 03:13:41
  • Oracle常见错误诊断

    2010-07-27 12:56:00
  • python代码实现扫码关注公众号登录的实战

    2021-11-18 04:40:43
  • python将字符串转换成数组的方法

    2021-03-04 20:09:54
  • mybatis连接MySQL8出现的问题解决方法

    2024-01-22 08:27:59
  • Python真题案例之小学算术 阶乘精确值 孪生素数 6174问题详解

    2022-12-02 11:09:33
  • asp之家 网络编程 m.aspxhome.com