当前位置: 首页 > 知识库问答 >
问题:

基于角度变量的动态css生成

费德宇
2023-03-14

我正在用angular 4开发一个管理面板,并尝试集成一个部分来定制样式,比如change color、bg等。我已经开发了一个部分来保存数据库中的设置,使用API将它们作为json加载到应用程序中。

现在我正在尝试使用json中的值生成一个动态css,我尝试了主组件中的以下代码,但它不起作用

@Component({
      templateUrl: 'card.html',
      styles: [`
        .card {
          height: 70px;
          width: 100px;
          color: {{css.cardColor}};
        }
      `],
})

我不确定应该如何在组件中加载css值并在样式标记中使用它们。我没有找到任何其他的解决办法。

另一种方法是使用角度动画概念,但css将是巨大的,它不可能实现它的整体角度动画使用触发器和所有。我相信这是一个解决方案,因为这似乎是一个真正的需求,并且应该由许多其他开发人员做。

任何帮助都是值得注意的。

编辑:不能使用ngStyle,因为它将应用于几乎所有的元素,作为它的整个应用程序,而不仅仅是特定的元素。

共有1个答案

柴正祥
2023-03-14

您可以使用ngStyle从JSON向页面中动态添加css。

<div [ngStyle]="{'color': variable ? 'red' : 'blue'}"></div>

同样的另一个例子可以是

 <div md-card-avatar [ngStyle]="{'background-image': 'url(' + post.avatar + ')', 'background-size': 'cover'  }"></div>

在这里,我从json加载了背景图像

 类似资料:
  • 问题内容: 我正在使用用angular 4开发的管理面板,并尝试集成一个部分以自定义样式,例如更改颜色,bg等。我已经开发了一个部分来将设置保存在数据库中,并使用API​​将它们作为json加载到应用程序中。 现在我正在尝试使用json的值生成动态CSS,我尝试在主要组件中使用以下代码,但无法正常工作 我不确定如何在组件中加载css值并在style标签中使用它们。我没有找到任何其他解决方案。 另一

  • 问题内容: 如何将两个正则表达式模式构造为一个? 例如,我有一个长模式,一个小模式,我需要在长模式前面放一个小模式。 这行不通。当我连接字符串时,所有的斜杠都消失了。 问题答案: 您必须使用: 当我连接字符串时,所有的斜杠都消失了。 如果您的模式中有反斜杠以转义特殊的正则表达式字符(如),则必须在字符串中使用两个反斜杠(因为是字符串中的转义字符):与相同。 因此,您的模式必须变为:

  • 本文向大家介绍基于openlayers实现角度测量功能,包括了基于openlayers实现角度测量功能的使用技巧和注意事项,需要的朋友参考一下 基于openlayers的测量功能,官网提供了长度测量和角度测量,但是没有角度测量,在此写一下基于openlayers的角度测量功能,主要方法如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。

  • 问题内容: 我试图通过实际分配变量的组合名称来创建一个可在LESS CSS中动态定义变量的混合模块。 简化的用例(不是真正的用例): 然后人们会这样称呼mixin: 由于使用选择器名称时可以进行这种字符串内插,因此我想知道变量名称是否也可以使用;到目前为止,我对尝试过的各种语法都没有运气(除上述语法外,我尝试了转义,引用,使用前缀等等)。 编辑 我又尝试了另一件事,我觉得自己可能会接近。但是我遇到

  • Postman支持设置环境变量,并在例如标题中使用它们。 考虑以下示例: 令牌endpoint需要基本标头: 所有其他endpoint都需要承载标头: 目前,我需要完成以下所有步骤,这非常烦人: 调用 从响应中手动复制令牌 转到<code>设置 是否有一种方法可以在每次调用时自动更新环境变量,或者至少始终显示当前环境变量的列表,以便我可以手动更新值,而无需转到

  • 问题内容: 是否可以将宽度设置为相同的高度(比率1:1)? 例 CSS 问题答案: 使用jQuery,您可以通过以下方式实现此目的