我有以下代码:
<a routerLink="/dashboard" routerLinkActive="active" #rla="routerLinkActive">
<img src="/assets/navigation/dashboard-icon-active.svg" />
<template [ngIf]="!isSmallSidebar">
Dashboard
</template>
</a>
Run Code Online (Sandbox Code Playgroud)
运行我的应用程序我看到图像显示正确.但是,如果当前路线处于活动状态,我希望图像发生变化.所以我做了:
<a routerLink="/dashboard" routerLinkActive="active" #rla="routerLinkActive">
<!-- <img
id="re-nav-dashboard-img"
src={{ rla.isActive ? './assets/navigation/dashboard-icon-active.svg' : './assets/navigation/dashboard-icon.svg' }} /> -->
<template [ngIf]="!isSmallSidebar">
Dashboard
</template>
</a>
Run Code Online (Sandbox Code Playgroud)
我做错了什么或这是一个错误?
您应该以不同方式使用Angular 2绑定.
你的<img>标签应该是:
<img id="re-nav-dashboard-img" [src]="rla.isActive ? './assets/navigation/dashboard-icon-active.svg' : './assets/navigation/dashboard-icon.svg'" />
Run Code Online (Sandbox Code Playgroud)
注意src属性周围的方括号和引号之间的模板表达式.
一些关于属性绑定的阅读:https://angular.io/docs/ts/latest/guide/template-syntax.html# !# property-binding
我发现了问题。这是正确的方法。
<img id="re-nav-dashboard-img" src="{{rla.isActive ? './assets/navigation/dashboard-icon-active.svg' : './assets/navigation/dashboard-icon.svg'}}" />
Run Code Online (Sandbox Code Playgroud)
我正在使用src={{}}而不是src="{{}}".