小程序中有这样一个需求:正常情况下,首页导航菜单白色背景,字体颜色为黑色,选中色为#333333。活动开启之后,会传入背景色和字体选中颜色及字体颜色。并将默认色替换了。活动开启后,有背景图片,背景色为空,需将导航背景色改为透明色!
多个三元表达式怎么读?如何理解多个三目表达式?-Qui-Note
我们先看背景色的三元表达式

activeFlag && activeBgCor ? activeBgCor: activeFlag?'none':'#ffffff'

多个三元表达式怎么读?如何理解多个三目表达式?-Qui-Note

这是2个三元拼接的,前面 activeFlag && activeBgCor 表示活动开启,背景色不为空

如果满足条件,就将 activeBgCor 给 background,否则执行第一个 :后面的函数体。

多个三元表达式怎么读?如何理解多个三目表达式?-Qui-Note

我们看后面,又是一个三元 activeFlag?'none':'#ffffff' 对于初级小白的我,懵逼了,冷静一下,既然函数走到后面,就说明,前面的条件不成立:activeFlag活动未开启?activeBgCor背景色不存在? 反正这时候背景色不是活动色,继续走函数,判断activeFlag开启没有?开启了,但是没有背景色,那就说明传入的是背景图,那这个时候导航是透明色,不能有任何颜色,所以 none 生效;假如,活动没有开启,#ffffff默认白色背景色生效!

这样这两个三元表达式就执行完了,测试一下,发现完美执行!另外的选中字体色也是这样多元表达式设置的,看来我又进步了,啊哈哈!每天都在进步,学习代码的路没有尽头!