Angular 组件模板全局动态字体

标签 angular angular-components

我试图允许用户更改字体,这应该动态更新组件。

由于该组件渲染了相当多的 Material 组件,因此有许多“Roboto”样式。

如果我将其添加到全局 styles.css

* {
    font-family: Lato !important;
  }

它确实成功覆盖了所有其他字体样式。

但是如何使其动态化呢? 我在模板中尝试了内联脚本标记,但这被 Angular 剥离了(有意义,除了这个示例)。

我将尝试使用动态样式表link标记,但这意味着为每种字体创建一个样式表,一个正确的皮塔饼。 (我们有 14 种字体)。

最佳答案

您可以为每种字体创建一个类,并使用 [ngClass] 应用该类

例如,创建一个 serif 类,如下所示:

.serif * {
    font-family: serif !important;
}

然后使用 ngClass 将其应用到您的 AppComponent:

<div [ngClass]="fontClass">

其中 fontClass 是 ts 文件中设置的变量。

关于Angular 组件模板全局动态字体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50773227/

相关文章:

javascript - Angular router.navigate with/route guard 已经在组件上时不起作用

javascript - 在组件本身之外渲染组件的一部分

javascript - AngularJS UI 路由器嵌套状态不工作

javascript - Uncaught Error : Can't resolve all parameters for 'ComponentName' : ([object Object],?)

angular - Angular 10 的 ng 测试在 gitlab ci 中挂起

javascript - angular2js : Uncaught Reference Error: System is not defined

javascript - 如何使用 Cloud Firestore 在 ionic 4 应用程序中获取数据

javascript - 显示加载程序 gif,直到在浏览器中开始下载

javascript - 在此 Angular 2 应用程序中,此跨组件通信 "pattern"究竟如何工作?

javascript - 如何在 Angular 2 中展开/折叠递归 TreeView ?