Angular.js: Error al mostrar causas inexactas: Error: [$ compile: ctreq] ¡No se puede encontrar el controlador 'ngModel', requerido por la directiva 'ngClick'!

Creado en 9 abr. 2014  ·  3Comentarios  ·  Fuente: angular/angular.js

Este breve violín http://jsfiddle.net/x3EtD/7/ muestra errores en la consola, pero indican un problema que no existe. Es decir, que la directiva 'ngClick' requiere 'ngModel', que no es así. Parece haber un error con la forma en que angular está completando los espacios en blanco para este mensaje de error.

El problema en este caso es que se ha creado una directiva personalizada que requiere ngModel para todos los elementos de entrada, pero la casilla de verificación del ejemplo no la tiene. Irónicamente, en realidad no rompe ninguna funcionalidad, pero arroja errores engañosos en la consola. Cambiar requires: 'ngModel' a requires: '?ngModel' soluciona el error en el violín.

Rastrear esto fue difícil ya que los errores apuntaban tan explícitamente a un problema con mi uso de ng-click en lugar del verdadero culpable.

Sospecho que el error debería decir Error: [$compile:ctreq] Controller 'ngModel', required by directive 'input', can't be found!

SO: Ubuntu 12.04
Navegadores: Chromium 33, Firefox 28
Versiones angulares probadas: 1.2.1, 1.2.15

low inconvenient bug

Todos 3 comentarios

Acabo de probar esto con 1.2.16, y el problema también ocurre allí, ¡es interesante!

Es de esperar que se arroje el error para el directorio de entrada, pero en su lugar hace referencia a ngClick. Muy raro.

Voy a investigar esto.

Parece similar al # 7059

Creo que veo qué está causando esto, tendré una solución en unas pocas horas si nadie se me adelanta.

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