Angular material 动态更改角度材质主题

Angular material 动态更改角度材质主题,angular-material,angular9,Angular Material,Angular9,我不熟悉angular,想动态更改angular材质主题,我知道如何制作不同的主题,即制作scss文件,定义3种颜色,包括mat属性和函数,但后来我在angular.json中静态添加了该文件reference,但是,如果我有许多自定义的角度材质主题,我希望动态地引用css文件 那么,有没有简单、快捷、相当优化的方法来实现这一点呢 另外,我已经阅读了很多帖子和文档,但是当涉及到动态地改变主题的时候,我似乎很困惑,例如如果我有切换,那么如何引用不同的样式而不是默认的样式 任何答案都将不胜感激 一种

我不熟悉angular,想动态更改angular材质主题,我知道如何制作不同的主题,即制作scss文件,定义3种颜色,包括mat属性和函数,但后来我在angular.json中静态添加了该文件reference,但是,如果我有许多自定义的角度材质主题,我希望动态地引用css文件

那么,有没有简单、快捷、相当优化的方法来实现这一点呢

另外,我已经阅读了很多帖子和文档,但是当涉及到动态地改变主题的时候,我似乎很困惑,例如如果我有切换,那么如何引用不同的样式而不是默认的样式

任何答案都将不胜感激

一种解决方案是实时构建材质调色板。这些是必要的步骤:

在CSS变量中定义调色板,然后访问它们。 将这些变量指定给材质角度主题。 使用tinycolor库,我们创建了一个服务来生成 基于颜色的调色板。 使用JavaScript,我们更新DOM中的CSS变量。 这里有一个例子:

一种解决方案是实时构建材质调色板。这些是必要的步骤:

在CSS变量中定义调色板,然后访问它们。 将这些变量指定给材质角度主题。 使用tinycolor库,我们创建了一个服务来生成 基于颜色的调色板。 使用JavaScript,我们更新DOM中的CSS变量。 这里有一个例子:


在angular和app-component中实现解决方案时,ts在运行时抱怨“tinycolor未定义”我缺少什么?在angular和app-component中实现解决方案时,ts在运行时抱怨“tinycolor未定义”我缺少什么?