在角度4组件中应用不同的主题

时间:2017-12-08 18:20:44

标签: angular

我有一个我设计的组件库让我们说主题A. 我希望大多数组件的变化略有不同(在模板和css中),以使我的主题为B.

我已经在SO和网络上查看了大部分这些问题,但除非我创建一个具有不同名称的新标签,但我没有真正解决我的问题,我认为这不是一种优雅的解决方法。这个问题。

如果有人能为我提供解决这个问题的方法,我将不胜感激。

How to apply themes in angular2?

Can I add two template for one component in angular2?

Angular 2 component with multiple views

2 个答案:

答案 0 :(得分:0)

不确定前两个问题。

对于“具有多个视图的Angular 2组件”:Angular是关于组合视图的。因此,您可以使用“”标记的内容投影在现有组件中插入不同的内容。您可以通过“ngIf”控制这些投影内容的可见性。

答案 1 :(得分:0)

如果差异很少,主题很少 你的CSS喜欢

.theme1 .head{..}
.theme1 .title{..}
.theme2 .head{..}
...
.theme3 .head{..}
...

你的HTML

<div [ngClass]="themeActual">
<head>..</head>
<div class="title>...</div>

你的.ts只需要使用

themeActual="theme1";

如果有这么多差异你可以改变index.html导入theme.css

关于具有不同视图的组件,如果问题是关于移动布局,您可以使用媒体查询css或* ngIf,...