angular/aio/content/extended-diagnostics/NG8104.md
Andrew Scott cf7e4e47fc docs: Add doc page for 'textAttributeNotBinding' extended diagnostic (#48307)
Adds documentation page for `textAttributeNotBinding` extended diagnostic.

fixes #48291

PR Close #48307
2022-12-13 16:56:06 -08:00

1.3 KiB

@name Text attribute not binding

@description

This diagnostic ensures that attributes which have the "special" Angular binding prefix (attr., style., and class.) are interpreted as bindings. For example, <div attr.id="my-id"></div> will not interpret this as an attribute binding to id but rather just a regular attribute and will appear as-is in the final HTML (<div attr.id="my-id"></div>). This is likely not the intent of the developer. Instead, the intent is likely to have the id be set to 'my-id' (<div id="my-id"></div>).

What should I do instead?

When binding to attr., class., or style., ensure you use the Angular template binding syntax.

  <div [attr.id]="my-id"></div>
  <div [style.color]="red"></div>
  <div [class.blue]="true"></div>

What if I can't avoid this?

This diagnostic can be disabled by editing the project's tsconfig.json file:

{ "angularCompilerOptions": { "extendedDiagnostics": { "checks": { "textAttributeNotBinding": "suppress" } } } }

See extended diagnostic configuration for more info.

@reviewed 2022-11-30