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.