Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度2:类绑定不';t在单独组件中更改数据时更新_Angular_Typescript - Fatal编程技术网

Angular 角度2:类绑定不';t在单独组件中更改数据时更新

Angular 角度2:类绑定不';t在单独组件中更改数据时更新,angular,typescript,Angular,Typescript,我试图通过绑定isActive()函数的返回值,在导航栏组件中的活动项上添加下划线isActive()将url路径与传入的字符串值进行比较,并返回true或false 当我单击导航栏组件中的任一项时,isActive()函数将运行,下划线将按预期显示在与我导航到的页面对应的导航栏元素上 但是,当我单击导航栏组件外部的锚定标记时,isActive()函数不会再次运行,因此下划线仍保留在上一页的导航栏元素上: 导航栏HTML: <div class="anchor-wrapper" [cla

我试图通过绑定
isActive()
函数的返回值,在导航栏组件中的
活动项上添加下划线
isActive()
将url路径与传入的字符串值进行比较,并返回true或false

当我单击导航栏组件中的任一项时,
isActive()
函数将运行,下划线将按预期显示在与我导航到的页面对应的导航栏元素上

但是,当我单击导航栏组件外部的锚定标记时,
isActive()
函数不会再次运行,因此下划线仍保留在上一页的导航栏元素上:

导航栏HTML:

<div class="anchor-wrapper" [class.active-item]="isActive('/dashboard')"> 
    <a [routerLink]="['/dashboard']">Dashboard</a>
</div>
<div class="anchor-wrapper" [class.active-item]="isActive('/inventory')">
    <a [routerLink]="['/inventory']">Inventory</a>
</div>
<div class="anchor-wrapper" routerLinkActive="isActive('/dashboard')"> 
    <a [routerLink]="['/dashboard']">Dashboard</a>
</div>
<div class="anchor-wrapper" routerLinkActive="isActive('/inventory')">
    <a [routerLink]="['/inventory']">Inventory</a>
</div
仪表板HTML:

<a (click)="onVehicleStatusClick()" RouterLinkActive="active"> {{promotedCount}} </a>
当我导航到导航栏组件之外的另一条路线时,如何确保
isActive()
再次运行


非常感谢有棱角的新手

您可以使用RouterLink活动指令,如下所示:

导航栏HTML:

<div class="anchor-wrapper" [class.active-item]="isActive('/dashboard')"> 
    <a [routerLink]="['/dashboard']">Dashboard</a>
</div>
<div class="anchor-wrapper" [class.active-item]="isActive('/inventory')">
    <a [routerLink]="['/inventory']">Inventory</a>
</div>
<div class="anchor-wrapper" routerLinkActive="isActive('/dashboard')"> 
    <a [routerLink]="['/dashboard']">Dashboard</a>
</div>
<div class="anchor-wrapper" routerLinkActive="isActive('/inventory')">
    <a [routerLink]="['/inventory']">Inventory</a>
</div


使用内置RouterLink Active怎么样?你试过了吗?我在遗留代码中看到RouterLink是活动的,但是在检查了Angular文档之后,我认为它没有被正确使用。让我试试,我会让你知道的!它是稳定的:它工作了!如果你想把它作为答案贴出来,我会接受的。谢谢你,当然。没问题。我会的