Como adicionar atributo condicional no Angular 2?

Como posso adicionar condicionalmente um atributo de elemento, por exemplo, a checkbox de seleção checked ?

As versões anteriores do Angular tinham o NgAttr e eu acho que o NgChecked todas parecem fornecer a funcionalidade que eu estou procurando. No entanto, esses atributos não parecem existir no Angular 2 e não vejo outra maneira de fornecer essa funcionalidade.

null remove:

 [attr.checked]="value ? '' : null" 

ou

 [attr.checked]="value ? 'checked' : null" 

na syntax do atributo angular-2 é

 

Vincula a function de atributo ao resultado da expressão myAriaRole.

então pode usar como

 [attr.role]="myAriaRole ? true: null" 

Se for um elemento de input, você pode escrever algo como …. O valor da condição deve ser verdadeiro ou falso.

Também para atributos de estilo …

Some text

Refinando Günter Zöchbauer resposta:

Isso parece ser diferente agora. Eu estava tentando fazer isso para aplicar condicionalmente um atributo href a uma marca de âncora. Você deve usar o indefinido para o caso ‘não aplicar’. Como exemplo, demonstrarei com um link condicionalmente com um atributo href aplicado.

Uma marca de âncora sem um atributo href se torna texto simples, indicando um espaço reservado para um link, de acordo com a especificação do hiperlink .

Para minha navegação, tenho uma lista de links, mas um desses links representa a página atual. Eu não queria que o link da página atual fosse um link, mas ainda quer que ele apareça na lista (ele tem alguns estilos personalizados, mas este exemplo é simplificado).

  

Isso é mais limpo do que usar dois * ngIf em uma tag span e anchor, eu acho.

Inline-Maps são úteis também.

Eles são um pouco mais explícitos e legíveis também.

 [class]="{ 'true': 'active', 'false': 'inactive', 'true&false': 'some-other-class' }[ trinaryBoolean ]" 

Apenas outra maneira de realizar a mesma coisa, caso você não goste da syntax ternária ou ngIf s (etc).