怎么避免在Vue中使用null作为class的空值
本篇内容主要讲解"怎么避免在Vue中使用null作为class的空值",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么避免在Vue中使用null作为class的空值"吧!
使用 null 而不是传递一个空字符串,这可能会导致DOM输出中的一个空类。在你的三元操作符中,你可以返回 null。这将确保DOM中没有空类:
比较空字符串 '' 和 null
让我们深入研究上面的示例,然后更全面地了解正在发生的事情。
(1) 方案1:使用空字符串 '' /
我们使用三元运算符根据 isBold 是true还是falsy来有条件地设置适当的类。在此示例中,我们要说的是,如果 isBold 是 true 的,它将把该类设置为 bold。如果是 false 的,它将返回一个空字符串 ""。 :class 是 v-bind:class 的缩写。
data() { return { isBold: false } }这将渲染:
如果 isBold 为 true ,它将渲染:
(2) 方案2:使用 null /
好吧,让我们看看如果将 null 分配为类的值会发生什么。
data() { return { isBold: false } }这将渲染:
如果 isBold 为 true ,它将渲染:
(3) 方案3:使用undefined /
顺便说一句, undefined 也可以工作
false值
提醒一下,这些是JavaScript中的false值。因此,如果 isBold 是这些值中的任何一个,它将返回三元运算符的false条件。
false undefined null NaN 0 "" or '' or `` (empty string)使用对象语法重构
在我的简单示例中,使用对象语法可能更好一些,如下所示:
我猜使用三元运算符的一个更好的例子是设置多个类。
题外话:当我创作Demo时,我总是尽量让事情变得简单。其中一种方法就是尽可能地减少视觉噪音。因此,我的例子有时会过于简化,希望读者能够在不做太多处理的情况下立即掌握概念。《别让我思考》这本书给了我很大的启发。好了,言归正传,我们回到主菜上吧!
使用&&设置class
让我们探索另一种情况,看看是否可行。
&& 不仅是产生布尔值的逻辑运算符,它实际上可以产生一个值。因此,这就是说如果 isBold 为真,则返回 bold。但是,如果isBold 为假,则返回 isBold 的值。
强调最后一点——它将返回isBold的值。所以我们原来的空类问题仍然可以存在,取决于 isBold 的值是什么。我们来看看一些例子。
例子1: isBold 等于 false /
这仍将渲染空类
例子2: isBold 等于 null /
由于 isBold 为 null,因此空类消失了 。
&& 并没有错——事实上它正在做它的工作,只是我们需要一个具体的返回值。在其他方面,我们不能渲染空类,我们必须传递 null 或 undefined。任何其他的假值都是不行的,因为这一点很容易被忽略,所以我更喜欢更明确的三元操作符或者简单的对象语法 。
空类属性不好吗?
我试着用W3C Markup Validation Service检查了一下,两种语法确实都通过了。
......深入探讨HTML标准:空属性语法,似乎并不禁止空属性。
但是...
但是有效性不适用于 id,因为空ID被认为是无效的。
.........❌ 错误:ID不能为空字符串。
到此,相信大家对"怎么避免在Vue中使用null作为class的空值"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
例子 空字符 语法 三元 运算符 运算 对象 属性 方案 示例 事情 内容 实际 情况 操作符 方法 条件 正在 学习 工作 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 敏捷软件开发 经典书籍 代码内存数据库 如何同步内网服务器 计算机网络技术榜样人物 ck数据库 安庆安卓软件开发费用 软件开发销售行业的税负率 5g网络技术已经非常成熟 邯郸安卓软件开发多少钱 重庆应用软件开发靠谱吗 数据库查询和索引 数据库中添加数据代码 梦幻西游转回原服务器怎么操作 前段程序如何连接后台数据库 软件开发费用账务处理 IP网络技术需要敲代码吗 奉贤区咨询软件开发价钱 浙江现代软件开发均价 马龙区网络安全大队 txt文件乱码转化为数据库 烁地网络技术 方舟服务器手游价格 神代梦华谭服务器 sql语句转换为整形数据库 腾讯云阿里云香港轻量服务器对比 软件开发有多少种设计模式 arsgis如何新建数据库 最难的数据库 上海巡检软件开发服务 网络安全工作直接责任人