私のサンプルのAngular 2アプリケーションでは、reduxデザインパターンを実装するためにngrx/storeを使用しています。CanActivateガードのstore.dispatchの使用
私は自分のアプリケーションでCanActivateガードを実装していると、以下の関連するコードです
canActivate(route: ActivatedRouteSnapshot, router: RouterStateSnapshot): Observable<boolean> {
this.store.dispatch(canActivate());
// HOW TO RETURN value ??
}
以下は関連するアクション
export function canActivate(): Action {
$.blockUI();
return {
type: UserActionTypes.CAN_ACTIVATE,
payload:{}
}
}
export function canActivateSuccess(canActivateResponse: any): Action {
$.unblockUI();
return {
type: UserActionTypes.CAN_ACTIVATE_SUCCESS,
payload: canActivateResponse.data
}
}
そして、以下の通りであるが、関連する減速コードは
....
case UserActionTypes.CAN_ACTIVATE_SUCCESS:
return Object.assign({}, action.payload);
.....
です
以下は、関連するエフェクトコードです
@Effect() canActivate$ = this.actions$
.ofType(UserActionTypes.CAN_ACTIVATE)
.switchMap(
(action) => this.userService.canActivate()
.map(response => canActivateSuccess)
);
私の質問はcanActivateガードは、ブールの観測返す必要がありますが、私はcanActivateガードから値を返す必要がありますどのような場合には、trueまたはfalseが、唯一canActivateSuccess機能/アクション内知られているであろう返すかどうか、です。