Angular2站点加载时的默认活动链接
我在每个链接上使用angular2和angular2[RouterLink active],以设置活动链接。这一切都很好。当用户点击一个链接时,路由变为活动的,链接被注入“活动”类,我可以相应地设置样式 但是,在路线设置中,我设置了如下默认路线:Angular2站点加载时的默认活动链接,angular,angular2-routing,Angular,Angular2 Routing,我在每个链接上使用angular2和angular2[RouterLink active],以设置活动链接。这一切都很好。当用户点击一个链接时,路由变为活动的,链接被注入“活动”类,我可以相应地设置样式 但是,在路线设置中,我设置了如下默认路线: const routes: Routes = [ { path: '', redirectTo: 'gettiingstarted', pathMatch: 'full' }, 当用户第一次导航到页面时,页面现在成功加载了“gettingstarte
const routes: Routes = [
{ path: '', redirectTo: 'gettiingstarted', pathMatch: 'full' },
当用户第一次导航到页面时,页面现在成功加载了“gettingstarted”组件,但不幸的是,路由器链接此时没有注入“active”类,因此没有正确设置样式。获取活动类的唯一方法是实际单击链接
有人知道如何让[RouterLink Active]机制在页面加载时工作吗
更新
以下是链接本身的html代码:
<a [routerLink]="['gettingstarted']" [routerLinkActive]="['active']">
将以下内容放入app.component.ts文件的构造函数中修复了它:
this.router.navigate(['/gettingstarted']);
不确定这是推荐的解决方案,但针对我的情况进行了修复。在RouterLink活动选项中使用
isActive:true
,如下所示
Home
看看,有两个选项您可以尝试[routerLinkActiveOptions]=“{exact:true}
。显示如何使用routerLinkActive
,以及您要导航到的路线
您为什么使用=['gettingstarted']
而不是=”gettingstarted>“
”和[routerLinkActive]=
而不是routerLinkActive=
?我的理解是angular2支持这两种语法,当然这种语法在其他任何地方都不是问题。我已经尝试了“{exact:true}”,但没有效果。绝对不是推荐的方法,如果我发现其他方法,我将发布答案