2016-05-31 57 views
0

我有一個應用程序,我必須在用戶允許非登錄訪問一些網頁,如忘記密碼錶,登記等

if(!Authentication.isLoggedIn()){ 
    if($location.path() === '/thanks'){ 
     // Allow 
    } else { 
     // Redirect to login 
     $location.path('/login'); 
    } 
    } 

我比較我正在使用ngRoute,並且我有一個帶有參數的路由(/ lostpassword /:token),但我無法找到正確比較它的方法,以便我可以用同樣的方式/謝謝

所以澄清,我沒有看到:令牌的價值,我只是想知道何時查看路由/ lostpassword /:令牌。

我真的很陌生,我希望它只是一個小的語法問題。任何幫助,將不勝感激。

+0

你的意思是你想要你的令牌的價值? –

+0

可能的重複:http://stackoverflow.com/a/26100981/3103677 – sebenalern

+0

我不需要令牌的價值,我只需要知道何時該路由即將被訪問,所以我可以選擇允許或阻止用戶從查看頁面。 –

回答

1

如果你想知道,如果URL中包含關鍵字,你可以這樣做:

var path = $location.path(); 
if (path.split('/').indexOf('some') > -1){ 
    // do something 
} 

Angular $location docs

編輯

您還可以使用angular router可以得到一個網址範本。這是處理您的應用程序內路由的首選方式。

+0

這個答案確實有助於我進一步瞭解,但我有點擔心,如果我有另一條包含關鍵字的路線,那麼我可能會在我不想要的網頁上公開訪問。但如果沒有其他方法,我會接受這是正確的答案。 –

+0

路線之間有什麼區別? (順便說一句,我已經更新了答案) –