Angular 角度4类导航栏不工作
我试图使我的导航栏透明,但只在主页上。但令人费解的是,这段代码只在错误的条件下工作。“iHome”布尔值通过router.events.subscribe更新并正常工作。 这是我第一次尝试使用Angular 4Angular 角度4类导航栏不工作,angular,ng-class,Angular,Ng Class,我试图使我的导航栏透明,但只在主页上。但令人费解的是,这段代码只在错误的条件下工作。“iHome”布尔值通过router.events.subscribe更新并正常工作。 这是我第一次尝试使用Angular 4 <nav [ngClass]="{'navbar navbar-toggleable-md bg-primary fixed-top navbar-transparent': this.isHome, 'navbar navbar-toggleable-md bg-primary
<nav [ngClass]="{'navbar navbar-toggleable-md bg-primary fixed-top navbar-transparent': this.isHome, 'navbar navbar-toggleable-md bg-primary fixed-top': !this.isHome} ">
让我们看一下(特别是对象
部分):
对象键是CSS类,当值中给定的表达式计算为真实值时,会添加这些类,否则会删除它们
因此,以您的案例为例:
<nav [ngClass]="{
'navbar navbar-toggleable-md bg-primary fixed-top navbar-transparent': this.isHome,
'navbar navbar-toggleable-md bg-primary fixed-top': !this.isHome
}">
或:
另外,值得一提的是,即使可以使用
这个。
在模板中,也不推荐使用它。它可以在将来的版本中简单地被破坏,因为它甚至没有文档记录。您是否尝试使用{{isHome}
从模板中查看isHome
的值,以查看它是否根据您所在的页面相应地更改了值?谢谢!!因为我刚刚开始学习角度,你能解释一下为什么我的方法不起作用吗?@krombopulosmael不客气。我已经编辑了我的答案。非常感谢你,你的解释真的很好。到目前为止,我完全误解了这个概念。
<nav class="navbar navbar-toggleable-md bg-primary fixed-top"
[class.navbar-transparent]="this.isHome">
<nav class="navbar navbar-toggleable-md bg-primary fixed-top"
[ngClass]="{ 'navbar-transparent': this.isHome }">