基本上我想根据用户选择为每个元素使用背景颜色,用户选择将存储在数据库中。用户应根据网页的颜色配置文件进行网页制作。因此,我需要一个想法从角度获取该值并将其值存储在scss变量上并进行渲染。
答案 0 :(得分:1)
SCSS是一个预处理器,当你使用SCSS时,它实际上被编译成CSS,这就是你使用的。
也许最好的解决方案是在您需要的部分body
,div
或您想要的任何地方使用ngStyle。
实施例
<div ng-style="userStyle">
...
</div>
在你的JS中
$scope.userInfo = { backgroundColor: 'red' };
$scope.userStyle = {'background-color': $scope.userInfo.backgroundColor};
假设您有userInfo
个对象,backgroundColor
属性。
答案 1 :(得分:0)
这是不可能的,angular是javascript代码并在客户端浏览器中运行,sass被预编译为css,任何变量在浏览器中呈现之前都会被转换为完整值。
您需要获取角度来调用服务器,并让服务器根据angular提供的值动态生成CSS文件。 (我想你也可以在客户端做到这一点,我确定有一个javascript库可以让你编译sass)
答案 2 :(得分:0)
scss在构建之前编译为css,因此角度部分无法控制scss。您可以使用gulp / grunt编辑scss变量。但在你的情况下它没有帮助。
对你来说简单的羞辱是使用ng风格。
<div ng-style="{'background-color': scopeUserColor}"><div\>