Angular ngIf проверьте, начинается ли переменная с указанного символа в компоненте html [дубликат]

Aug 17 2020

У меня сейчас есть это:

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

Но я хотел бы изменить его, чтобы проверить, начинается ли значение имени переменной с определенного символа, например @.

Как я могу это сделать?

Ответы

1 Alexis Aug 17 2020 at 16:57

Используйте метод startWith, подобный этому

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

And if you want to check if string doesn't start with '@' simply add '!' like *ngIf="!name.startsWith('@')"

1 VivekJain Aug 17 2020 at 17:08

You can simply use indexOf method to get starting index of your character and if it's 0 it means it's true else false.

Like below.

<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

you can just add this code inside the Component :

export class NameComponent implements OnInit {

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

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

}

}

And then in the template :

<div *ngIf="!isNameContainAt">

Show something