Angular ngSe controlla se la variabile inizia con un carattere specificato nel componente html [duplicato]

Aug 17 2020

Al momento ho questo:

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

Ma vorrei cambiarlo per verificare se il valore del nome var inizia con un carattere specifico, ad esempio @.

Come posso fare questo?

Risposte

1 Alexis Aug 17 2020 at 16:57

Usa inizia con un metodo come questo

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

E se vuoi controllare se la stringa non inizia con '@' aggiungi semplicemente '!' piace*ngIf="!name.startsWith('@')"

1 VivekJain Aug 17 2020 at 17:08

Puoi semplicemente usare il indexOfmetodo per ottenere l'indice iniziale del tuo personaggio e se è 0 significa che è vero altrimenti falso.

Come sotto.

<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

puoi semplicemente aggiungere questo codice all'interno del Componente:

export class NameComponent implements OnInit {

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

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

}

}

E poi nel modello:

<div *ngIf="!isNameContainAt">

Mostra qualcosa