Angular 角度4类导航栏不工作

Angular 角度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

我试图使我的导航栏透明,但只在主页上。但令人费解的是,这段代码只在错误的条件下工作。“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 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 }">