如何在Angular Material应用程序中的非mat元素上使用原色?

如何在Angular Material应用程序中的非mat元素上使用原色?,angular,sass,angular-material,Angular,Sass,Angular Material,我发现很多指南都在谈论如何定义你自己的角度材料主题。但我只想在普通HTML元素上使用当前主题的“原色” 比如: <div style="color: primary-color">OK</div> OK 我不想为了定义调色板和颜色变量而经历痛苦。我只想得到Angular使用的值。您不需要自定义调色板,但需要自定义主题和变量来实现这一点。Angular Material提供了一个sass函数来从主题中提取颜色,但要实现这一点,主题必须是一个sass主题,您不能使用预编译

我发现很多指南都在谈论如何定义你自己的角度材料主题。但我只想在普通HTML元素上使用当前主题的“原色”

比如:

<div style="color: primary-color">OK</div>
OK

我不想为了定义调色板和颜色变量而经历痛苦。我只想得到Angular使用的值。

您不需要自定义调色板,但需要自定义主题和变量来实现这一点。Angular Material提供了一个sass函数来从主题中提取颜色,但要实现这一点,主题必须是一个sass主题,您不能使用预编译的主题,因为它们在静态css中:

@import '~@angular/material/theming';

@include mat-core();
$app-primary: mat-palette($mat-indigo);
$app-accent : mat-palette($mat-pink, A200, A100, A400);
$app-warn : mat-palette($mat-red);
$app-theme: mat-light-theme($app-primary, $app-accent, $app-warn);

@include angular-material-theme($app-theme);

.custom-class {
  color: mat-color($app-primary);
}
在HTML视图中:

<div class="custom-class">OK</div>
OK
编辑:你可以用一个预构建的主题来做,但是你必须经历与上面类似的步骤。但以上这些让你可以根据自己的喜好灵活地改变颜色


根据这两个错误,文档不准确。最新版本的作品适合我


    • 初级
      @fatemefazli…我的坏。
      按钮是一个特殊的元素。我指的是一般元素,比如div标签。可能与@tom重复,所有这些帖子都在讨论如何定义自定义
      primary
      颜色。但我想得到当前的原色……我认为它非常不同。@davidshen84因为你说“设置”,我不认为你不想得到而是设置。要做到这一点,您只需执行以下操作:
      菜单
      是的,我看过那篇文章。但我不想定义新的原色。我想使用当前主题的原色。如果未定义主题,如何获取
      $app them
      变量?请访问链接