angular - Angular Material 自定义颜色属性/指令
问题描述
如何在color
出现在各种 Material 组件中的指令上定义自定义 Angular Material 颜色:
<button mat-button color="accent" (click)="back()">{{ 'Back' | translate }}</button>
<button mat-button color="primary" (click)="next()">{{ 'Next' | translate }}</button>
我想添加另一种配色方案,例如hint
or info
。
<button mat-button color="hint">{{ 'Hint' | translate }}</button>
我在哪里可以定义这些颜色?
解决方案
这是两种不同的解决方案:
1. 编辑 Angular Material 主题的调色板
如果您想在应用程序中全局编辑此信息,您可以创建自己的 Angular Material Theme 并扩展您正在使用的主题。有关 Angular 材质主题的更多信息:https ://material.angular.io/guide/theming
以一种不太合适的方式,您还可以编辑style.css
您的应用程序以将全局样式应用于您的应用程序。
2.编辑子组件的样式
在您的情况下,您可能希望编辑输入的颜色,而不用在您的应用程序中使用相同的颜色更改每个输入(例如:)color="primary"
。
您可以使用::ng-deep
在子组件上应用样式。
ng-deep
目前已弃用,但暂时没有替代品。文档是这样说的:“继续使用 ::ng-deep 及其替代品,直到创建替代品 - 弃用只是一个早期通知,这样人们就不会在实际变化发生时措手不及。”
推荐阅读
- c# - 运行所选代码生成器时出错:没有为类型定义无参数构造函数
- python - Rust Pyo3 绑定:如何在通用 rust 类型上重用 python 方法
- algorithm - python中的数据结构和算法
- c# - 从列表中删除项目
存在于 CheckedListBox 项的子字符串中 - content-management-system - 我们如何为多页网站的 drupal-8 结构创建可跨页面使用的通用组件?
- dialogflow-es - 如何在 Dialogflow 中为 Facebook Messenger 创建动态轮播?
- html - 主页链接指向与使用相同 ID 的导航栏链接略有不同的视图
- css - 反应悬停样式
- unity3d - 两个几乎相同的批处理脚本之一中的语法错误:“)”无法在此处进行语法处理
- amazon-web-services - 如何使用 AWS Route 53 中的域名在 ec2(Ubuntu 18.04)中配置 nginx