布尔属性扩展

在 HTML 中,有一些布尔类型的属性,如selecteddisabled等。一般情况下这样使用

如上例,布尔属性可以赋值也可以不赋值,都会生效。问题是,即使这样我们给属性赋相反的值disabled="false",也一样会禁用组件。标签库对布尔属性进行了扩展,让属性值能够按照预期的方式进行工作,并对属性进行了增强。主要逻辑如下:

也就是说,布尔属性除了支持单值以外,还支持逻辑表达式运算。

由此可见,因为布尔属性支持数据占位符Express 字符串,所有布尔属性本身就是一种增强属性,只不过不需要在属性名称后面写加号+。注意在属性中占位符只是用来恢复数据,不会判断数据类型,如果是字符串记得加引号。

布尔属性的应用范围仅限于标签库内的标签,也就说所有标签库内标签的布尔值类型的属性都支持以上逻辑。

布尔属性在标签中赋值时可以使用以上的逻辑,但是在 Javascript 中使用时需要用布尔值赋值,例如:input.disabled = false。就是说这些属性只用上面的逻辑解析一次,但也有多次判断的属性,例如terminalmeet等。这类多次判断的属性可以再次赋值为字符串,但一般用不到。


参考链接


微信公众号
码农老吴  |  星源工作室  |  开发月志  |  问题反馈
联系我们:wu@qross.io     手机/微信:18618171102
京 ICP 备 20027445 号
$(h1)!