Angular: La liaison à des propriétés inconnues (telles que les attributs Aria) entraîne une erreur.

Créé le 27 sept. 2015  ·  3Commentaires  ·  Source: angular/angular

La liaison à des propriétés inconnues telles que les attributs Aria entraîne une erreur. Par example:

<a class="cell-anchor " [aria-expanded]="isFirstError(error)" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapse-{{error.id}}" aria-expanded="false">

Entraînera l'exception suivante lorsque le composant dont le modèle inclut ce code est chargé :

EXCEPTION : impossible de lier à 'ariaExpanded' car il ne s'agit pas d'une propriété connue de l' élément ' ' et il n'y a pas de directives correspondantes avec une propriété correspondante

Il s'avère que les attributs aria incluent souvent des tirets, donc nous convertissons en ariaExpanded ce qui n'est pas vraiment correct (peut-être y a-t-il un mécanisme d'échappement dont je ne suis pas au courant ?'). Ce n'est pas la cause première de cela, cependant, car la liaison à quelque chose d'inconnu entraînera le même problème :

EXCEPTION : impossible de lier à 'foo' car il ne s'agit pas d'une propriété connue de l' élément ' ' et il n'y a pas de directives correspondantes avec une propriété correspondante

S'il vous plaît laissez-moi savoir si un plunker est nécessaire et j'en créerai un.

Commentaire le plus utile

Les éléments DOM n'ont pas de aria-expanded _property_ il n'y a qu'un _attribute_ avec un tel nom. Si vous voulez vous lier à un attribut, vous devez préfixer son nom avec attr. , ex. : [attr.aria-expanded]="isFirstError(error)" .

Donc, l'erreur est correcte et nous voulons définitivement lancer des propriétés inconnues, car la liaison à des propriétés non existantes n'aurait aucun effet - il s'agit la plupart du temps d'une erreur de l'utilisateur.

Tous les 3 commentaires

Les éléments DOM n'ont pas de aria-expanded _property_ il n'y a qu'un _attribute_ avec un tel nom. Si vous voulez vous lier à un attribut, vous devez préfixer son nom avec attr. , ex. : [attr.aria-expanded]="isFirstError(error)" .

Donc, l'erreur est correcte et nous voulons définitivement lancer des propriétés inconnues, car la liaison à des propriétés non existantes n'aurait aucun effet - il s'agit la plupart du temps d'une erreur de l'utilisateur.

Cool, je n'étais pas au courant du préfixe attr. . Cela doit être clairement documenté, chaque fois que le moment de passer à l'AG arrive.

Je pense cependant qu'il est possible d'améliorer le message que nous donnons lorsque la liaison manque le préfixe attr. . Si nous pouvions simplement imprimer quelque chose comme ça, je n'aurais même pas besoin de la documentation :

*_EXCEPTION : Impossible de se lier à 'foo' car il ne s'agit pas d'une propriété connue de l' élément ' ' et il n'y a pas de directives correspondantes avec une propriété correspondante. *_

Ce problème pourrait être utilisé pour suivre l'amélioration de ce message.

Ce problème a été automatiquement verrouillé en raison de son inactivité.
Veuillez signaler un nouveau problème si vous rencontrez un problème similaire ou connexe.

En savoir plus sur notre politique de verrouillage automatique des conversations .

_Cette action a été effectuée automatiquement par un bot._

Cette page vous a été utile?
0 / 5 - 0 notes