html - 登录时隐藏可选的导航栏菜单 - Angular 8
问题描述
登录后,我试图隐藏一些导航栏菜单。
这是我的导航栏菜单
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav ml-auto">
<li class="nav-item active"><a class="nav-link" routerLink="books">Books</a></li>
<!--Hide this link--> <li class="nav-item"><a class="nav-link" routerLink="sign-in">Sign In</a></li>
<!--Hide this link--> <li class="nav-item"><a class="nav-link" routerLink="sign-up">Sign Up</a></li>
</ul>
</div>
无论如何要隐藏这些我想隐藏的评论链接?这是我的登录组件类型脚本
export class SignInComponent implements OnInit {
email: string;
password: string;
constructor(public auth: AuthService) { }
ngOnInit() {
}
login(){
this.auth.login(this.email, this.password);
this.email = this.password = '';
}
}
验证服务类型脚本
login(email: string, password: string){
this.afAuth.auth.signInWithEmailAndPassword(email, password).then(
value => {
console.log('Success!', value);
this.router.navigate(['dashboard']);
}
).catch(err=>{
console.log('Something went wrong:',err.message);
this.router.navigate(['sign-up']);
})
}
** 如果这有帮助,这是我的标题类型脚本
export class HeaderComponent implements OnInit {
title = 'Book List App';
constructor() { }
ngOnInit() {
}
}
谢谢你。
解决方案
根据成功返回布尔值 true/false,
boolean login(email: string, password: string){
this.afAuth.auth.signInWithEmailAndPassword(email, password).then(
value => {
console.log('Success!', value);
this.router.navigate(['dashboard']);
return true;
}
).catch(err=>{
console.log('Something went wrong:',err.message);
this.router.navigate(['sign-up']);
return false;
})
}
并分配给组件中的一个变量,
this.loggedIn = this.auth.login(this.email, this.password);;
在 HTML 中绑定变量
<li class="nav-item" *ngIf="loggedIn"><a class="nav-link" routerLink="sign-in">Sign In</a></li>
<li class="nav-item" *ngIf="loggedIn"><a class="nav-link" routerLink="sign-up">Sign Up</a></li>
推荐阅读
- javascript - 如何使用 Tone.JS 激活淡出效果?
- python - Psycopg2 update 不更新表,也不会抛出任何错误
- android - 如何制作清单
可打包? - javascript - 在弹出 javascript 警报时播放音频,并在警报关闭时停止播放
- java - 开/关原则查询
- c# - 定义使用类的winForm的名称?C#
- unity3d - 统一切换平台
- java - 主/调用线程等待其他线程完成其任务的最佳方式:Thread.sleep()、Latch、CompletableFuture 还是其他?
- python - 使用列表时,然后将其随机化,如何使用 if 语句检查列表中的某个项目是否已打印?
- python - 如何使用 lambda 函数合并列表和变量