2017-04-10 76 views
1

路上我試圖讓一些喜歡這裏:AngularJS show div based on url/condition如何檢測Angular2

<span id="page-locator" *ngIf="location.path() == '/overview'">test</span> 

,但它不工作。

我如何在Angular2中實現這一點?

謝謝。

+1

如果你正在尋找對於當前頁面,然後檢查此鏈接:H [我是否獲取Angular 2中當前頁面的絕對路徑?](http://stackoverflow.com/questions/37517183/how-do-i-get-the-absolute -path-of-the-current-page-in-angular-2) – sameer

+0

我試圖讓ngIf工作,但是謝謝。 –

回答

1

它看起來像你試圖使用Angular路由器的路徑,正確嗎?如果是這樣,你可以注入Router服務爲您的組件和使用,在您的視圖:

import { Router } from '@angular/router'; 

export class SomeComponent { 
    constructor(public router: Router) { } 
} 

然後在你的組件模板中,您可以通過訪問當前路由器網址:

<span id="page-locator" *ngIf="router.url === '/overview'">test</span> 
+0

'overvierw'只是整個網址的一部分... –

+1

您可以在該場景中使用'* ngIf =「router.url.indexOf('/ overview')> = 0」'來確定url是否包含路線也是如此。 – DRiFTy

+0

怎麼......我忘了indexOf()...謝謝你的隊友! –

0

window.location是你可以得到你的信息!

了絕對路徑,你可以走這條路:

constructor(location:Location) { 
    console.log(location.prepareExternalUrl(location.path())); 
} 
0

請嘗試以下解決方案:

location: any; 
constructor(private _router: Router) { 
     _router.events.subscribe((data:any) => { this.location = data.url; }); 
} 

的數據是一個對象,我們需要包含在該對象的url屬性。

<span id="page-locator" *ngIf="location == '/overview'">test</span>