Ce diagnostic détecte une syntaxe « banana-in-box » inversée pour les two-way bindings.
<user-viewer ([user])="loggedInUser" />
Quel est le problème ?
En l'état, ([var]) est en réalité un event binding nommé [var].
L'auteur voulait probablement écrire un two-way binding vers une variable nommée var mais, tel qu'il est écrit, ce binding n'a aucun effet.
Que faire à la place ?
Corrigez la faute de frappe.
Comme son nom l'indique, la banane ( doit se trouver à l'intérieur de la boîte [].
Dans ce cas :
<user-viewer [(user)]="loggedInUser" />
Prérequis de configuration
strictTemplates doit être activé pour qu'un diagnostic étendu soit émis.
invalidBananaInBox n'a pas d'autre prérequis que strictTemplates.
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": {
"invalidBananaInBox": "suppress"
}
}
}
}
Consultez la configuration des diagnostics étendus pour en savoir plus.