Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何在typescript中访问scss变量_Angular_Typescript_Sass - Fatal编程技术网

Angular 如何在typescript中访问scss变量

Angular 如何在typescript中访问scss变量,angular,typescript,sass,Angular,Typescript,Sass,我想生成一个对象,它将创建一个HTML元素。在这里,我需要为对象提供颜色、背景色和边框 我不想硬编码所有这些值,而是想从SCS中获取它们 我试过这种方法,效果很好。不确定这是否是正确的方法。所以,寻找完美的解决方案 SCSS示例代码: :root { --normal-rate: #00008b; --special-rate : #80d4ff; --flat-rate : #F7941D; } 打字脚本代码: this.normalRate = window.get

我想生成一个对象,它将创建一个HTML元素。在这里,我需要为对象提供颜色、背景色和边框

我不想硬编码所有这些值,而是想从SCS中获取它们

我试过这种方法,效果很好。不确定这是否是正确的方法。所以,寻找完美的解决方案

SCSS示例代码:

:root {
    --normal-rate: #00008b;
    --special-rate : #80d4ff;
    --flat-rate : #F7941D;
}
打字脚本代码:

this.normalRate = window.getComputedStyle(document.documentElement).getPropertyValue("--normal-rate");
this.specialRate = window.getComputedStyle(document.documentElement).getPropertyValue(RateColor.SpecialRate);
this.flatRate = window.getComputedStyle(document.documentElement).getPropertyValue(RateColor.FlatRate);

this.obj= [
        { title: '', allDay: false,..., backgroundColor: this.specialRate, borderColor: this.specialRate },
        { title: '', allDay: false,..., backgroundColor: this.normalRate, borderColor: this.normalRate },
        { title: '', allDay: false,..., backgroundColor: this.flatRate, borderColor: this.flatRate }
      ];

我一直想知道这一点,但我认为你的方式也很好。我偶然发现了其他实现(),其中一个是使用npm包将SCSS变量作为JSON对象导入。至于哪种方法最好,还不确定。但我想我会尝试你的方法。@50尝试从该链接,但无法导入scss文件。。而且,我在我的项目中不使用webpack,请检查一下。其中大多数都比你的方式复杂。我唯一关心的是你的方式是否污染了全局名称空间?很难定义一个最佳或推荐的解决方案,这取决于你的网站结构。这个没问题。另一种方法是创建一个CSS类,将这些属性设置为这些变量,并将该类设置为新组件。还要注意的是,这些不是SASS变量,它们是CSS变量。在这里你可以看到它们之间的区别,在这里你可以看到CSS变量。@Alexartizl因为我们不能在typescript中访问SASS,所以我使用CSS变量来获取并使其动态化