Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.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
Css 在运行时设置Angular应用程序的样式_Css_Angular_Less_Styling - Fatal编程技术网

Css 在运行时设置Angular应用程序的样式

Css 在运行时设置Angular应用程序的样式,css,angular,less,styling,Css,Angular,Less,Styling,在运行时设置Angular应用程序样式的最佳实践是什么?(即用户特定的原色)应用程序为不同的公司运行,每个公司都希望在应用程序设置中设置其公司设计颜色(免费,无预定义的颜色代码) 第一个想法: 使用较少的变量并在运行时更改。但角度将它们转换为静态css 第二个想法: 使用如下样式绑定:[style.color]=styleService.primaryColor 但是我必须在每个组件中实现它->很大的开销 第三个想法: Angular和jQuery a不是好朋友,但是有没有一个等价的 $('.p

在运行时设置Angular应用程序样式的最佳实践是什么?(即用户特定的原色)应用程序为不同的公司运行,每个公司都希望在应用程序设置中设置其公司设计颜色(免费,无预定义的颜色代码)

第一个想法: 使用较少的变量并在运行时更改。但角度将它们转换为静态css

第二个想法: 使用如下样式绑定:
[style.color]=styleService.primaryColor
但是我必须在每个组件中实现它->很大的开销

第三个想法: Angular和jQuery a不是好朋友,但是有没有一个等价的
$('.primaryColor').css({color=styleService.primaryColor})


有更好的办法吗?也许是一个角度兼容的框架,可以操纵我的CSS,这样我就可以使用简单的类来装饰HTML,还可以使用一个应用用户特定样式值的中心服务?

我正在使用SASS,所以我建议(如果可以使用SASS)使用全局scss变量文件,您可以在构建过程中更改这些文件(每种颜色不同)。
//这是全局var.scss文件
$原色:绿色;
$secondаary颜色:黄色;
$error颜色:红色;
//这是您的组件SCS
@导入`${yourPath}/variables.scss`;
钮扣{
颜色:$原色

}
您可以这样做:基本上,您创建一个指令,应用于将改变颜色的元素,并将用户颜色存储在某个位置(本地存储、数据库…)

这样,您就可以控制HTML元素上的许多属性


我发现它比使用SASS更灵活,你可以从中了解到一两件关于角度的事情。

关于方向呢谢谢!指令的方法对我来说很好。我将尝试一下。对于我的应用程序区域,变量不能是编译常量。