'How to convert jquery code to angular 4?

I have written some code using jQuery and HTML to remove a class after clicking on element. I am not able to convert it to Angular 4.

HTML code :

 <div class="collapse navbar-collapse" id="myNavbar">
 <ul class="nav navbar-nav navbar-right">
   <li><a href="#myPage" onclick="hideNavBar();"><i class="glyphicon glyphicon-home"></i>Home</a></li>
   <li><a href="#login" onclick="hideNavBar();">Login</a></li>
   <li><a href="#signup" onclick="hideNavBar();">Signup</a></li>
  </ul>
</div>

JavaScript:

function hideNavBar() {
  $("#myNavbar").removeClass('in');
}


Solution 1:[1]

template:

<div class="collapse navbar-collapse" *ngIf="test === true">
  <ul class="nav navbar-nav navbar-right">
    <li><a (click)="hideNavBar()"><i class="glyphicon glyphicon-home"></i>Home</a></li>
    <li><a (click)="hideNavBar()">Login</a></li>
    <li><a (click)="hideNavBar()">Signup</a></li>
     </ul>
</div>

.ts file:

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.scss']
})
export class AppComponent {

  test = true;

  constructor() {}

  hideNavBar() {
    test = false;
  }
}

Solution 2:[2]

use [ngClass] directive to show and hide instead of ngIf.

ngIf create DOM in runtime please refer this doc ngClass

<div class="collapse navbar-collapse" [ngClass]="{'in': showClass}">
 <ul class="nav navbar-nav navbar-right">
  <li><a href="#myPage" (click)="hideNavBar();"><i class="glyphicon 
  glyphicon-home"></i>Home</a></li>
  <li><a href="#login" (click)="hideNavBar();">Login</a></li>
 <li><a href="#signup" (click)="hideNavBar();">Signup</a></li>
</ul>
</div>

    @Component({
     selector: 'app-header',
     templateUrl: './app.component.html',
     styleUrls: ['./app.component.scss']
   })

  export class AppComponent {

  showClass = true;

  constructor() {}

  public function hideNavBar() { // you can use in click function
     showClass = false;
   }
}

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Community