这破代码能跑就行 2021-12-09 14:54 采纳率: 100%
浏览 304
已结题

在Vue+Sass实现动态换肤一文中如何理解[data-theme="#{$theme-name}"] & { }

在混入方法
@mixin themeify {}存在[data-theme="#{$theme-name}"] & { }这样一行代码,在查阅scss相关资料后,发现&一般指代父选择器,然而该混入中的&不存在父选择器,其次,我在scss中也没有找到关于[data-theme="#{$theme-name}"]写法的相关资料,这行代码让我在解析动态换肤整体流程是产生了很大的困扰,希望您有空的时候能不吝赐教。

  • 写回答

1条回答 默认 最新

  • 前端阿彬 前端领域新星创作者 2021-12-09 15:45
    关注

    这个其实很好理解

    1. [ ]就是css的属性选择器,选择有某个属性的元素,这个就是选择有data-theme属性的元素
    2. $是sass的变量标识符,例如 $mycolor = "#fff" ,就是定义了一个变量mycolor = ‘#fff’,然后可以使用:
      p{
      color: $mycolor
      }
      等同于
      p{
      color: '#fff'
      }
    3. ${}是sass的插值表达式,就是把这个变量插入进去了,就和拼接字符串差不多
      所以[data-theme="#{$theme-name}"]的意思就是选择有data-theme属性,并且属性值等于后面这个变量的元素

    如有帮助,望采纳 ^.^ 谢谢啦~
    参考文章:
    https://blog.csdn.net/weixin_44198965/article/details/101162228
    https://www.w3school.com.cn/css/css_selector_attribute.asp
    https://www.runoob.com/sass/sass-variables.html

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 12月17日
  • 已采纳回答 12月9日
  • 创建了问题 12月9日

悬赏问题

  • ¥15 smptlib使用465端口发送邮件失败
  • ¥200 总是报错,能帮助用python实现程序实现高斯正反算吗?有偿
  • ¥15 对于squad数据集的基于bert模型的微调
  • ¥15 为什么我运行这个网络会出现以下报错?CRNN神经网络
  • ¥20 steam下载游戏占用内存
  • ¥15 CST保存项目时失败
  • ¥15 树莓派5怎么用camera module 3啊
  • ¥20 java在应用程序里获取不到扬声器设备
  • ¥15 echarts动画效果的问题,请帮我添加一个动画。不要机器人回答。
  • ¥15 Attention is all you need 的代码运行