Não é possível definir a variável como atributo do elemento html [duplicado]
Esta pergunta já tem uma resposta aqui:
Atributos de dados angulares 2 2 respostasEncontrei um problema que não sei resolver.
Se você usa este modelo, não há problema:
<li *ngFor="#supplier of supplierList | async">
<a (click)="changeSupplier($event)">
<span>{{supplier.id}}: {{supplier.name}}</span>
</a>
</li>
A saída é por exemplo:
<li>
<a>
<span>1: Sony</span>
</a>
</li>
<li>
<a>
<span>2: Samsung</span>
</a>
</li>
Se eu editar um modelo e tentar definir o "supplier.id" no atributo html "data-supplierid":
<li *ngFor="#supplier of supplierList | async">
<a (click)="changeSupplier($event)" data-supplierid="{{supplier.id}}">
<span>{{supplier.name}}</span>
</a>
</li>
Um erro aparece:
Can't bind to 'supplierid' since it isn't a known native property ("i>
<li *ngFor="#supplier of supplierList | async">
<a (click)="changeSupplier($event)" [ERROR ->]data-supplierid="{{supplier.id}}">
<span>{{supplier.name}}</span>
</a>