我们可以从SCSS文件中的角度获取动态值

时间:2016-03-18 15:49:31

标签: angularjs sass

基本上我想根据用户选择为每个元素使用背景颜色,用户选择将存储在数据库中。用户应根据网页的颜色配置文件进行网页制作。因此,我需要一个想法从角度获取该值并将其值存储在scss变量上并进行渲染。

3 个答案:

答案 0 :(得分:1)

SCSS是一个预处理器,当你使用SCSS时,它实际上被编译成CSS,这就是你使用的。

也许最好的解决方案是在您需要的部分bodydiv或您想要的任何地方使用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\>