Angular ngIf vérifie si la variable commence par un caractère spécifié dans le composant HTML [duplicate]

Aug 17 2020

J'ai actuellement ceci:

<div *ngIf="name !== '@name1'>
  Show something
</div>

Mais je voudrais le changer pour vérifier si la valeur du nom var commence par un caractère spécifique, par exemple @.

Comment puis-je faire ceci?

Réponses

1 Alexis Aug 17 2020 at 16:57

Utilisez démarre avec une méthode comme celle-ci

<div *ngIf="name.startsWith('@')">
  Show something
</div>

Et si vous voulez vérifier si la chaîne ne commence pas par '@', ajoutez simplement '!' comme*ngIf="!name.startsWith('@')"

1 VivekJain Aug 17 2020 at 17:08

Vous pouvez simplement utiliser la indexOfméthode pour obtenir l'index de départ de votre personnage et s'il vaut 0, cela signifie que c'est vrai sinon faux.

Comme ci-dessous.

<div *ngIf="name.indexOf('@name1') === 0">
   it's start with @name1
</div>

<div *ngIf="name.indexOf('@name1') !== 0">
  it's not start with @name1
</div>
1 yanesof__ Aug 17 2020 at 19:06

vous pouvez simplement ajouter ce code dans le composant:

export class NameComponent implements OnInit {

public isNameContainAt = false;
public name = 'name';
constructor() { }

ngOnInit() {
if (this.name.startsWith('@') == true) {
  this.isNameContainAt = true;
}

}

}

Et puis dans le modèle:

<div *ngIf="!isNameContainAt">

Montre quelque chose