在Angular中比較網址您好我正在嘗試使用登錄服務在angular.js中爲我的單頁應用打開某些節(即'call.html'不執行身份驗證)。
我想知道我該如何獲得路徑(http://www.example.com/app/#/call/1234),以便我可以比較它並重定向到「登錄」頁面,如果頁面不是「call.html」?
我已經得到了我app.js下面的代碼,這似乎工作,但在瀏覽器不工作,我得到以下錯誤:
TypeError: $location.path(...).contains is not a function
我app.js。
app.run(['$rootScope', '$location', '$cookieStore', '$http',
function ($rootScope, $location, $cookieStore, $http)
{
$rootScope.globals = $cookieStore.get('globals') || {};
if ($rootScope.globals.currentUser)
{
$http.defaults.headers.common['Authorization'] = 'Basic' + $rootScope.globals.currentUser.authdata; // jshint ignore:line
}
$rootScope.$on('$locationChangeStart', function (event, next, current)
{
// redirect to login page if not logged in
if($location.path().contains('call'))
{
return;
}
else
{
if ($location.path() !== '/login' && !$rootScope.globals.currentUser && $location.path() !=='/')
{
$location.path('/login');
}
}
});
}
]);
任何幫助如何解決這個問題將不勝感激。
我會建議使用ngRoute https://docs.angularjs.org/api/ngRoute或UI路由器HTTPS ://github.com/angular-ui/ui-router –