珀琥
珀琥
  • 发布:2020-05-21 15:31
  • 更新:2020-06-05 15:38
  • 阅读:5639

引用scss文件时获取变量无效

分类:HBuilderX

1.在uni.scss文件下引用时能正常
@import 'common/css/default.scss'

  1. 在main引用时报错
    import 'common/css/default.scss'
    错误提示
    14:26:10.881 SassError: Undefined variable: "$blue".

有什么办法能在main引用是变量能正常。

2020-05-21 15:31 负责人:无 分享
已邀请:
珀琥

珀琥 (作者) - http://www.pfuni.cn/

注:第一种换主题方案但是微信不支持

1.在uni.scss上写上如下代码
/更换主题处理/
$red:#fa436a; / 主题颜色 /
$blue:#0091FF; /更换的颜色/
$yellow:#FED44A; /
更换的颜色
/
$green:#008200; /**更换的颜色***/

@mixin background($color){/通过该函数设置字体颜色,后期方便统一管理;/
background:$color;
[data-theme="green"] & {
background:$green;
}
[data-theme="blue"] & {
background:$blue;
}
}

2.在页index.vue页面样式上写上如下代码
<style lang="scss" scoped="scoped">
.bnt{
/background:$red/ 原写法
@include background($red); 换成下面写法
}
</style>

3.js代码如下
window.document.documentElement.setAttribute('data-theme','green'); /更换主题/

但是小程序不支持window.document.documentElement,且感觉这方案维护SCSS也比较麻烦。

  • w***@163.com

    你上面提供的两种方案 在微信小程序里能否使用了?

    2020-07-17 17:09

  • 珀琥 (作者)

    回复 w***@163.com: 可以使用

    2020-08-04 08:08

珀琥

珀琥 (作者) - http://www.pfuni.cn/

没有人??人气不旺啊!!
经研究已实际换肤。。如有需要了解方案的请跟贴

leonLi

leonLi - https://github.com/lmf

平时很少上,看到顶一顶

该问题目前已经被锁定, 无法添加新回复