2017-08-10 93 views
2

Angular 2路由器衛兵可以在一個數組中定義。例如:Angular 2路由器衛兵訂購

<code> 
canActivate: ['CanAlwaysActivateGuard','AuthGuard'] 
</code> 

以下是我的問題:

  1. 會是怎樣執行兩個衛兵的順序。
  2. 如果我想只在CanAlwaysActivateGuard返回true的情況下執行AuthGuard,那是否可能。

回答

2

這兩名警衛的執行順序是什麼。

它們將同步運行而不會彼此等待。

如果我想執行AuthGuard,只有當CanAlwaysActivateGuard返回 爲真時,這是否可能。

不,目前的實施是不可能的。作爲一種解決方法,您可以創建一個包裝警衛,以便按順序運行警衛。請參閱How to wait for guards in Angular