Como definir o atributo id de um elemento HTML dinamicamente com angularjs (1.x)?

Fornecido um elemento HTML do tipo div , como definir o valor de seu atributo id , que é a concatenação de uma variável de escopo e uma string?

ngAttr diretiva ngAttr pode ser de grande ajuda aqui, conforme apresentado na documentação oficial

https://docs.angularjs.org/guide/interpolation#-ngattr-for-binding-to-arbitrary-attributes

Por exemplo, para definir o valor do atributo id de um elemento div , para que contenha um índice, um fragment de exibição pode conter

 

que seria interpolado para

 

Essa coisa funcionou muito bem para mim:

Uma maneira mais elegante que encontrei para alcançar esse comportamento é simplesmente:

 

Para minha implementação, eu queria que cada elemento de input em um ng-repeat tivesse um id exclusivo para associar o label. Então, para uma matriz de objects contidos dentro de myScopeObjects, podemos fazer isso:

 

Ser capaz de gerar ids únicos em tempo real pode ser bastante útil ao adicionar dinamicamente conteúdo como este.

Você poderia simplesmente fazer o seguinte

No seu js

 $scope.id = 0; 

Em seu modelo

 

que irá renderizar

 

Não é necessário concatenar dentro de chaves duplas.

Caso você tenha chegado a essa pergunta, mas relacionado à nova versão angular> = 2.0 .

 

Se você usar esta syntax:

 

Angular irá renderizar algo como:

  

No entanto esta syntax:

 

irá gerar algo como: