routerLinkActive指令的妙用

routerLinkActive指令在路由激活时添加样式class

采用路由高亮:
当路由被激活时允许你添加一个class在你添加路由的dom元素上,只有url变化时才会移除此样式。

父路由链接激活

默认情况下,当路由为链接的父路由或者完全匹配链接,链接都会认为是激活的状态。

<a routerLink="/a/b" routerLinkActive="active">B链接</a>

示例里当路由为“/a”和“/a/b”class active都会被添加。

完全匹配激活

如果限定当前路由需要和链接路径完全匹配才激活,可以在routerLinkActiveOptions属性添加exact: true。

<a routerLink="/a/b" routerLinkActive="active" [routerLinkActiveOptions]="{exact:true}">B链接</a>

调用RouterLinkActive的api

可以把RouterLinkActive实例赋值给一个变量,然后就可以通过变量来调用RouterLinkActive的api:

<li nz-menu-item routerLinkActive #rla="routerLinkActive" [nzSelected]="rla.isActive">
       <a [routerLink]="/a/b" routerLinkActive="active"></a>
</li>

示例中只有路由在激活状态,当路由为“/a”和“/a/b”时, active会被添加,相应的标签被选中并高亮显示

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章