html - 登录时隐藏可选的导航栏菜单 - Angular 8

标签 html angular firebase firebase-authentication angular8

登录后我试图隐藏一些导航栏菜单。

这是我的导航栏菜单

<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']);
    })
  }

** 如果这有帮助,这是我的 header 类型脚本

export class HeaderComponent implements OnInit {

  title = 'Book List App';

  constructor() { }

  ngOnInit() {
  }

}

谢谢。

最佳答案

根据成功返回 bool 值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 中绑定(bind)变量

<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> 

关于html - 登录时隐藏可选的导航栏菜单 - Angular 8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57645272/

相关文章:

angular - 更改动态描述元标记可以用 Angular 8 中的搜索引擎检测到

javascript - Angular 2 : Filter by value in nested array?

flutter:当我热重载或导航回该页面时,我的列表不断增长

html - 在XPath中的树上使用string()时如何在节点之间添加空格

javascript - 如何以模式加载 url 的内容并更改浏览器中的地址

javascript - 尝试使用 Bootstrap 制作模式对话框提示

typescript - 当满足某些 `*ngIf` 条件时,如何从类装饰器中调用某个方法?

ios - FirebaseUI pod 安装错误

android - Firebase 存储 java.util.concurrent.RejectedExecutionException

javascript - 如何更改绑定(bind)到 Razor 页面上模型的特定文本的字体颜色?