自定义属性的巧妙应用:隐藏幕后的条件渲染
element plus 提供了便捷的切换暗黑模式功能,其中一段代码引起了你的疑惑:
<i i="dark:ep-moon ep-sunny"></i>
登录后复制
乍一看,这句话似乎让人摸不着头脑。但它实际蕴藏着一种巧妙的设计思想,那就是利用自定义属性实现了条件渲染。
让我们把代码拆解一下:
- “i” 是一个自定义属性,用来指定需要渲染的元素在不同条件下的样式。在这里它取值 “dark:ep-moon ep-sunny”。
- “dark:ep-moon” 表示当处于暗黑模式时渲染 ;
- “ep-sunny” 表示当处于非暗黑模式时渲染 。
element plus 通过改变主题模式来动态添加或移除页面上的 “dark” 类名。因此,当处于暗黑模式时,由于 html 上添加了 “class=’dark'”,”.dark [i~=”ep-sunny”]” 样式声明的优先级会更高,它将覆盖 [i~=”ep-sunny”] 样式声明,从而渲染 。
换言之,”i” 属性就像一个条件渲染开关,根据主题模式的不同,它会在适当的时候选择渲染不同的图标。这种做法不仅增强了代码的可读性和可维护性,也展现了 JavaScript 和 css 巧妙结合的强大魅力。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
【小浪云服务商 - 服务器12元起 - 挂机宝5元起】
THE END
暂无评论内容