Diagnostics étendus

« Banana-in-box » invalide

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.