我想根据变量的值调用this.loggedInService.isLoggedIn方法:login()logout()
如果变量值!this.loggedInService.isLoggedIn
呼叫login()
如果!this.loggedInService.isLoggedIn则此方法logout()
如何在app.html中正确实现它?
模板:

 <li class="nav-item">
    <a class="btn btn-outline-success"
      [class.btn-outline-success]="!this.loggedInService.isLoggedIn"
      [class.btn-outline-danger]="this.loggedInService.isLoggedIn"
      ngIf ....>
      {{this.loggedInService.isLoggedIn ? 'Exit' : 'Enter'}}
    </a>
  </li>

应用程序:
export class AppComponent implements OnInit {
  constructor(public loggedInService: LoggedinService, public router: Router) {}

  ngOnInit() {}

  login(): void {
    this.loggedInService.login().subscribe(() => {
      if (this.loggedInService.isLoggedIn) {
        let redirect = this.loggedInService.redirectUrl
          ? this.loggedInService.redirectUrl
          : '/gallery';
        this.router.navigate([redirect]);
      }
    });
  }

  logout(): void {
    this.loggedInService.logout();
  }
}

最佳答案

您可以使用三元运算符基于如下状态运行函数

<li (click)="this.loggedInService.isLoggedIn ? logout() : logIn()" >
{{this.loggedInService.isLoggedIn ? logout : logIn}}
</li>

07-24 19:31