【发布时间】:2019-09-09 16:18:59
【问题描述】:
构建一个 Angular 4 应用程序,但我会接受一个也适用于 v5+ 的答案。我有一个由这样的导航按钮组成的导航栏:
<custom-button routerLink="/some-route"></custom-button>
我知道我可以根据当前路由是否与按钮的routerLink 匹配,向元素添加自定义类"active":
<custom-button routerLink="/some-route" routerLinkActive="active"></custom-button>
但是我需要一种方法来根据此条件(路由是否为当前)绑定输入值,例如:
<custom-button routerLink="/some-route" [inputFlag]="isOnCurrentRoute">
</custom-button>
所以这个想法是如果按钮的routerLink 指的是当前路线,那么inputFlag 将被设置为true。我知道这可以通过注入ActivatedRoute 并构建一个函数来实现,该函数采用按钮的routerLink 的值并在它与当前路由匹配时返回true。
<custom-button routerLink="/some-route"
[inputFlag]="isOnCurrentRoute('/some-route')">
</custom-button>
不过,这是很多开销;想知道 Angular 是否在模板中公开了一个 API 来完成所有这些工作
【问题讨论】:
标签: angular routing angular-routerlink routerlinkactive