【发布时间】:2018-07-03 19:08:58
【问题描述】:
是否可以构建一个使用 Angular Material 的 npm 模块并允许它定义的组件由消费应用的自定义主题设置样式?
例如,假设我创建了一个 npm 模块,其中包含具有以下模板的组件:
<button mat-raised-button color="accent">Click me!</button>
是否可以将此组件导入两个不同的应用程序,每个应用程序都定义a custom Angular Material theme,并让按钮呈现当前应用程序主题的“重音”颜色?
目前,我正在使用 ng-packagr 构建对 Angular 友好的 npm 模块。然而,据我所知,这个模块包含一个.scss 编译阶段作为打包过程的一部分,这意味着模块中定义的任何样式都无法通过使用该模块的应用程序中的主题进行自定义。
【问题讨论】:
-
我已经使用库组件进行材料主题化。有一篇博客文章 here 详细说明了如何做到这一点(以及代码示例)。
标签: javascript angular npm angular-material angular-material2