Angular 如何将*ngIf指令中的多个条件与或`| |运算符4一起使用
我有导航栏,当用户或管理员登录时,它必须更改元素。认证后,我需要更改一些元素。为此,我使用ngIf指令。 这是我的导航栏模板Angular 如何将*ngIf指令中的多个条件与或`| |运算符4一起使用,angular,Angular,我有导航栏,当用户或管理员登录时,它必须更改元素。认证后,我需要更改一些元素。为此,我使用ngIf指令。 这是我的导航栏模板 <nav class="navbar navbar-expand-lg navbar-dark bg-dark"> <a class="navbar-brand" href="#">MEAN</a> <button class="navbar-toggler" type="button" data-toggle="coll
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<a class="navbar-brand" href="#">MEAN</a>
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarColor02" aria-controls="navbarColor02" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarColor02">
<ul class="navbar-nav mr-auto">
<li class="nav-item active" *ngIf="!auth.loggedIn() || !admin.loggedIn()">
<a class="nav-link" routerLink = "/">Home</a>
</li>
<li class="nav-item" *ngIf="!auth.loggedIn() || !admin.loggedIn()">
<a class="nav-link" routerLink = "/login">Login</a>
</li>
<li class="nav-item" *ngIf="!auth.loggedIn() || !admin.loggedIn()">
<a class="nav-link" routerLink = "/register" >Register</a>
</li>
<li class="nav-item" *ngIf="auth.loggedIn()">
<a class="nav-link" routerLink = "/dashboard">Dashboard</a>
</li>
<li class="nav-item" *ngIf="auth.loggedIn()">
<a class="nav-link" routerLink = "/edit">Edit User</a>
</li>
<li class="nav-item" *ngIf="auth.loggedIn()">
<a class="nav-link" (click)="logout()">Logout</a>
</li>
<li class="nav-item" *ngIf="admin.loggedIn()">
<a class="nav-link" routerLink = "/adminPage">Edit Users</a>
</li>
<li class="nav-item" *ngIf="admin.loggedIn()">
<a class="nav-link" (click)="logout()">Logout</a>
</li>
</ul>
</div>
</nav>
这是来自管理服务的
loggedIn(){
if(localStorage.getItem("adminToken")){
return true;
}else{
return false;
}
}
所以我需要在用户或管理员登录时隐藏一些元素(home、register、login)
家
登录
登记
为此,我尝试在ngIf指令中使用or运算符,但这两种情况都不起作用。对于语言错误,我深表歉意,并感谢您的帮助如果要在用户以用户或管理员身份登录时隐藏
li
元素,您应该使用:
*ngIf="!auth.loggedIn() && !admin.loggedIn()"
或
使用您当前的代码
*ngIf="!auth.loggedIn() || !admin.loggedIn()"
只有当用户同时使用两种访问权限登录时,元素才会隐藏,这可能是不可能的。您是否将这两种服务注入到组件中?是的,我做了,但仍然不起作用。如果您做的一切都是正确的,那么应该这样做。请提供
*ngIf="!auth.loggedIn() && !admin.loggedIn()"
*ngIf="!(auth.loggedIn() || admin.loggedIn())"
*ngIf="!auth.loggedIn() || !admin.loggedIn()"