【每日精进 2025-06】:deep、正则匹配....

67 阅读1分钟

:deep

juejin.cn/post/697878…

在 vue 组件中是使用 scoped 时,vue 在编译的时候,会按组件实例给 html 标签上添加一个自定义属性,data-v-d6b7f581。

style 中的样式也会被编译成这种样式

.parent[data-v-d6b7f581] {
    border-left: 1px solid #8b8eac;
    border-right: 1px solid #8b8eac;
}

此时在父组件中修改子组件的样式,直接使用 .child {} 是不行的,会被编译为带自定义属性的效果。

就需要使用 :deep 来处理一下,:deep(.child) {},告诉 vue,这里要特殊处理,就会编译成

[data-v-e44d851a] .ant-card-head-title { background: yellowgreen; }

正则匹配,查询没有使用 color 属性的 bu-icon 组件?

<bu-icon(?:(?!color)[\s\S\n])*?>

<bu-icon>,匹配组件开头和结尾

(?:(?!color)[\s\S\n])*?*? 非贪婪匹配 0 或 n 个,(?:(?!color)[\s\S\n])是一个非获取匹配,(?!color)[\s\S\n]是一个正向否定预查

正则表达式参考 tool.oschina.net/uploads/api…

调试技巧 - 页面暂停

出现几秒又消失的节点,如何调试呢

image.png

红框内的暂停按钮(也可以按快捷键)

能使网页暂停,方便开发调试,这在日常调试中也是比较实用的功能

blog.csdn.net/zhimooo/art…

ant-design-vue message。为什么全局设置了主题,message.loading 的图标没有变?

image.png

因为 loading 图标的颜色是 colorInfo....,不是主题色

image.png