Pesquisa de site

typescript - Angular 5 Verificando o valor de uma variável em uma declaração *ngIf


Estou usando Angular 5 e estou tentando verificar o valor de uma variável no template HTML do componente.

Então fica mais ou menos assim:

<div *ngIf="item='somevalue'">

Estou recebendo este erro:

Erro ht: Erros de análise do template:

Parser Error: Bindings cannot contain assignments at column 17 in...

Isso não pode ser feito em Angular?

Resposta #1

*ngIf funciona assim *ngIf="expressão" onde a expressão é substituída por uma instrução simples de Javascript que retorna boolean. Mas você usa um = e isso significa que você está atribuindo o someValue à propriedade item e se o valor não for falsy, ele retornará true.

No seu caso, você precisa escrever *ngIf="item === 'somevalue'".

Resposta #2

Você está fazendo uma atribuição em vez de uma comparação

<div *ngIf="item==='somevalue'">

Resposta #3

Você está fazendo um trabalho usando o operador=único.

Use o operador de dois iguais == para verificar igualdade ou, melhor, use === para verificar igualdade estrita.

<div *ngIf="item === 'somevalue'">

Artigos relacionados