angularJS有条件地重定向用户

时间:2017-01-23 15:04:37

标签: angularjs

我在我的应用程序中使用Auth0来检查(在模板中)用户是否经过身份验证。类似的东西:

<div ng-if="isAuthenticated" id="grid1" ui-grid="gridOptions" ui-grid-importer class="grid" ui-grid-resize-columns ui-grid-move-columns ui-grid-auto-resize ui-grid-selection ui-grid-cellNav ui-grid-paging myscroller></div>
<div ng-if="!isAuthenticated">
  <p>You will be redirected because you are not authenticated</p>
</div>

!isAuthenticated部分,如何从HTML内部重定向用户?有办法吗?

我之前见过这样的事情:<meta http-equiv="refresh" content="2; URL=http://www.redirectedsite.com">但这似乎并不适用,因为它是一个元标记。

1 个答案:

答案 0 :(得分:1)

您可以使用ngInit

<div ng-if="isAuthenticated" id="grid1" ui-grid="gridOptions" ui-grid-importer class="grid" ui-grid-resize-columns ui-grid-move-columns ui-grid-auto-resize ui-grid-selection ui-grid-cellNav ui-grid-paging myscroller></div>
<div ng-if="!isAuthenticated">
  <p ng-init="redirect()">You will be redirected because you are not authenticated</p>
</div>
控制器中的

$scope.redirect = function() {
    // redirecting in 1 sec...
    $timeout(function() {
        $location.path('/login');
    }, 1000); 
}