将 $location.path() 与参数不工作的路由进行比较
Comparing $location.path() to route with params not working
我有一个应用程序,我必须允许未登录的用户访问某些页面,例如忘记密码表单、注册等。
if(!Authentication.isLoggedIn()){
if($location.path() === '/thanks'){
// Allow
} else {
// Redirect to login
$location.path('/login');
}
}
我正在使用 ngRoute 并且我有一个带有参数的路由 (/lostpassword/:token) 但我找不到一种方法来正确比较它以允许它以与我相同的方式/谢谢
所以澄清一下,我不是在寻找 :token 的值,我只是想知道路由 /lostpassword/:token 何时被查看。
我是 angular 的新手,我希望这只是一个小的语法问题。任何帮助将不胜感激。
如果您想知道 url 是否包含关键字,您可以执行以下操作:
var path = $location.path();
if (path.split('/').indexOf('some') > -1){
// do something
}
编辑
您也可以使用angular router,它可以获得url模板。这是在您的应用程序中处理路由的首选方式。
我有一个应用程序,我必须允许未登录的用户访问某些页面,例如忘记密码表单、注册等。
if(!Authentication.isLoggedIn()){
if($location.path() === '/thanks'){
// Allow
} else {
// Redirect to login
$location.path('/login');
}
}
我正在使用 ngRoute 并且我有一个带有参数的路由 (/lostpassword/:token) 但我找不到一种方法来正确比较它以允许它以与我相同的方式/谢谢
所以澄清一下,我不是在寻找 :token 的值,我只是想知道路由 /lostpassword/:token 何时被查看。
我是 angular 的新手,我希望这只是一个小的语法问题。任何帮助将不胜感激。
如果您想知道 url 是否包含关键字,您可以执行以下操作:
var path = $location.path();
if (path.split('/').indexOf('some') > -1){
// do something
}
编辑
您也可以使用angular router,它可以获得url模板。这是在您的应用程序中处理路由的首选方式。