Angular: La vinculación a propiedades desconocidas (como los atributos de Aria) da como resultado un error.

Creado en 27 sept. 2015  ·  3Comentarios  ·  Fuente: angular/angular

La vinculación a propiedades desconocidas, como los atributos de Aria, da como resultado un error. Por ejemplo:

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

Dará como resultado la siguiente excepción cuando se cargue el componente cuya plantilla incluye este código:

EXCEPCIÓN: no se puede vincular a 'ariaExpanded' ya que no es una propiedad conocida del elemento ' ' y no hay directivas coincidentes con una propiedad correspondiente

Resulta que los atributos de aria a menudo incluyen guiones, por lo que estamos convirtiendo a ariaExpanded, que en realidad no es correcto (¿quizás hay un mecanismo de escape que desconozco?). Sin embargo, esa no es la causa raíz de esto, ya que la vinculación a algo desconocido causará el mismo problema:

EXCEPCIÓN: no se puede vincular a 'foo' ya que no es una propiedad conocida del elemento ' ' y no hay directivas coincidentes con una propiedad correspondiente

Por favor, hágame saber si se necesita un plunker y lo crearé.

Comentario más útil

Los elementos DOM no tienen aria-expanded _propiedad_ solo hay un _atributo_ con ese nombre. Si desea vincular a un atributo, debe anteponer su nombre con attr. , por ejemplo: [attr.aria-expanded]="isFirstError(error)" .

Entonces, el error es correcto y definitivamente queremos arrojar propiedades desconocidas, ya que el enlace a propiedades inexistentes no tendría ningún efecto; este es un error del usuario la mayor parte del tiempo.

Todos 3 comentarios

Los elementos DOM no tienen aria-expanded _propiedad_ solo hay un _atributo_ con ese nombre. Si desea vincular a un atributo, debe anteponer su nombre con attr. , por ejemplo: [attr.aria-expanded]="isFirstError(error)" .

Entonces, el error es correcto y definitivamente queremos arrojar propiedades desconocidas, ya que el enlace a propiedades inexistentes no tendría ningún efecto; este es un error del usuario la mayor parte del tiempo.

Genial, no conocía el prefijo attr. . Esto debe estar claramente documentado, cada vez que llegue el momento de ir a GA.

Sin embargo, creo que existe la oportunidad de mejorar el mensaje que damos cuando el enlace pierde el prefijo attr. . Si pudiéramos imprimir algo como esto, ni siquiera necesitaría la documentación:

*_EXCEPCIÓN: no se puede vincular a 'foo' ya que no es una propiedad conocida del elemento ' ' y no hay directivas coincidentes con una propiedad correspondiente. *_

Este problema podría utilizarse para realizar un seguimiento de la mejora de este mensaje.

Este problema se ha bloqueado automáticamente debido a la inactividad.
Presente un nuevo problema si encuentra un problema similar o relacionado.

Obtenga más información sobre nuestra política de bloqueo automático de conversaciones .

_Esta acción ha sido realizada automáticamente por un bot._

¿Fue útil esta página
0 / 5 - 0 calificaciones