SCSS 颜色变量无法在 Angular 组件中编译

SCSS color variable failing to compile in Angular component

我很茫然,我一定是漏掉了什么。这很简单。这是引用 scss 文件的 angular 组件:

@Component({
    selector: 'base-table',
    templateUrl: './html/base.table.html',
    styleUrls: ['./scss/base.table.scss']
})

这是 scss(简化版)不起作用的部分:

$orange: #ED7000;
#table-hscroll {
    --scrollbar-thumb-color: $orange;
}

如果我不使用变量,一切正常。一旦我使用变量,颜色就会消失。我在 angular cli 中指定了 scss 并假设当直接从组件访问它时它会被正确编译,但事实并非如此。

"schematics": {
    "@schematics/angular:component": {
      "styleext": "scss"
    }
  }

当直接从组件引用时,关于 scss 的工作原理有什么我不知道的吗?我的文件没有被编译吗?

如果您的变量不直接在您的组件 scss 中而是在全局样式表中,您必须在组件的样式表中导入该全局样式表。如果所有组件都有单独的样式表,您将需要为它们执行此操作。

所以在 ./scss/base.table.scss' 中导入包含您的变量的样式表。

就这样使用吧:

$orange: #ED7000;

#table-hscroll {
    --scrollbar-thumb-color: #{$orange};
}