Angular ngIf verificar se a variável começa com um caractere especificado no componente html [duplicado]

Aug 17 2020

Atualmente tenho este:

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

Mas eu gostaria de alterá-lo para verificar se o valor do nome var começa com um caractere específico, por exemplo @.

Como posso fazer isso?

Respostas

1 Alexis Aug 17 2020 at 16:57

Use o método startsWith como este

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

E se você quiser verificar se a string não começa com '@', basta adicionar '!' gostar*ngIf="!name.startsWith('@')"

1 VivekJain Aug 17 2020 at 17:08

Você pode simplesmente usar o indexOfmétodo para obter o índice inicial de seu personagem e se for 0 significa que é verdadeiro, senão falso.

Como a seguir.

<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

você pode apenas adicionar este código dentro do componente:

export class NameComponent implements OnInit {

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

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

}

}

E então no modelo:

<div *ngIf="!isNameContainAt">

Mostre algo