2017-04-24 24 views
1

我在每個鏈接上使用angular2和angular2 [routerLinkActive]來設置活動鏈接。這一切工作正常。當用戶點擊鏈接時,路由變爲活動狀態,並且鏈接獲得注入的「活動」類,並且我可以相應地設置樣式。Angular2現場加載的默認活動鏈接

然而,在路線設置我設置了像這樣的缺省路由:

const routes: Routes = [ 
{ path: '', redirectTo: 'gettiingstarted', pathMatch: 'full' }, 

這個工作在儘可能的頁面現在已經成功加載「gettingstarted」組件時,用戶首先導航到該頁面,但不幸的是,路由器鏈路在這一點上沒有注入「活動」類,因此沒有正確的樣式。獲得活動課程的唯一方法是實際點擊鏈接。

有誰知道我怎麼能得到[routerLinkActive]機制在頁面加載工作?

更新 這裏是代碼的HTML鏈接本身:

<a [routerLink]="['gettingstarted']" [routerLinkActive]="['active']"> 
+0

看看[docs](https://angular.io/docs/ts/latest/api/router/index/RouterLinkActive-directive.html),有幾個選項你可以試試'[routerLinkActiveOptions] = 「{exact:true}',例如, – Sasxa

+0

顯示瞭如何使用'routerLinkActive',以及您正在導航到 –

+0

的'route'爲什麼使用'= ['gettingstarted']'而不是'= 「開始」'? –

回答

1

把在app.component.ts的構造函數的以下文件固定它:

 this.router.navigate(['/gettingstarted']); 

不確定它是推薦的解決方案,但是針對我的情況進行了修復。