Diagnostics étendus

Déclaration @let inutilisée

Ce diagnostic détecte les déclarations @let dont la valeur n'est jamais lue dans le template.

import {Component} from '@angular/core';

@Component({
  template: `
    @let fullName = user.firstName + ' ' + user.lastName;
    <h1>Welcome</h1>
  `,
})
class MyComponent {
  user = {firstName: 'Ada', lastName: 'Lovelace'};
}

Quel est le problème ?

Un @let inutilisé est généralement un reste de refactoring, ou signale un endroit où la valeur devait être utilisée. Angular évalue tout de même l'expression d'un @let inutilisé à chaque mise à jour du template. Par exemple, un appel de fonction dans l'expression s'exécute toujours.

Que faire à la place ?

Utilisez la déclaration ou supprimez-la :

À privilégier

use the declaration

@Component({
  template: `
    @let fullName = user.firstName + ' ' + user.lastName;
    <h1>Welcome, {{ fullName }}</h1>
  `,
})
class MyComponent {
  user = {firstName: 'Ada', lastName: 'Lovelace'};
}
À privilégier

remove the declaration

@Component({
  template: `<h1>Welcome</h1>`,
})
class MyComponent {}

Et si je ne peux pas l'éviter ?

Ce diagnostic peut être désactivé en modifiant le fichier tsconfig.json du projet :

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

Consultez la configuration des diagnostics étendus pour en savoir plus.