我注意到一些材料设计组件的风格很棘手。 目前,我正试图动态设置md-tab上的样式。 在我的应用程序中可以将选项卡设置为活动或归档,并且我只是想通过将选项卡标题的文本设置为斜体来直观地指示此选项卡,并为其指定不同的文本颜色。Angular2-material:在md-tab上动态设置样式?
我试过根据tab.archived属性将css类设置为'item-archived'或'item-active',但是当组件初始化时,所有的HTML都被重写,删除了我刚设置的类。
我已经搜索了一段时间,但不能真正想出如何最好地做到这一点的结论性答案。 我发现的几个例子都使用预定义的静态样式,而不是将逻辑添加到等式中。
我假设没有优雅的方式来做到这一点,需要一种解决方法?
我的代码(简化):
<md-tab-group class="tab-container">
<md-tab *ngFor="let tab of tabs" label="{{tab.name}}" class="{{ tab.archive && 'item-archived' || 'item-active' }}">
...
</md-tab>
我想这应该不是太困难的事,对不对?任何人都可以指向一个干净的解决方案?
你应该使用ngStyle代替 – Aravind
我认识到ngStyle是在大多数情况下这样做的最好方法,但在这种情况下它不起作用。 “不能绑定到'ng-style',因为它不是'md-tab'的已知属性。” – Jort