我正在使用 ng-oidc-client 包,并且在导航栏中我尝试使用 ngIf 语句。我遇到的问题是确定用户是否经过身份验证。
// -------------------- navbar.component.ts ---------------
// Imports for the library
import { OidcFacade } from 'ng-oidc-client';
import { User } from 'oidc-client';
// Constructor
constructor(private oidcFacade: OidcFacade) {}
// Method
isAuthenticated() {
let isLoggedIn = this.oidcFacade.loggedIn$;
if (!isLoggedIn) return false;
return isLoggedIn;
}
// navbar.component.html
<li class="nav-item" [routerLinkActive]='["link-active"]' *ngIf="isAuthenticated() == true">
<a class="nav-link" (click)='signOutRedirect()'>Sign Out</a>
</li>
假设库创建者遵循 observable 的命名约定,this.oidcFacade.loggedIn$
则是一种布尔型 observable。
您需要做的就是使用async
管道。*ngIf="oidcFacade.loggedIn$ | async"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句