Angular.js: Erreur affichant des causes inexactes : Erreur : [$compile:ctreq] Le contrôleur 'ngModel', requis par la directive 'ngClick', est introuvable !

Créé le 9 avr. 2014  ·  3Commentaires  ·  Source: angular/angular.js

Ce petit violon http://jsfiddle.net/x3EtD/7/ montre des erreurs dans la console, mais ils indiquent un problème qui n'existe pas. À savoir que la directive 'ngClick' nécessite 'ngModel', ce qui n'est pas le cas. Il semble y avoir un bug avec la façon dont angulaire remplit les blancs pour ce message d'erreur.

Le problème dans ce cas est qu'une directive personnalisée qui nécessite ngModel a été créée pour tous les éléments d'entrée, mais la case à cocher dans l'exemple n'en a pas. Ironiquement, il ne casse aucune fonctionnalité mais crache des erreurs trompeuses dans la console. Changer requires: 'ngModel' en requires: '?ngModel' résout l'erreur dans le violon.

Il était difficile de localiser cela car les erreurs indiquaient si explicitement un problème avec mon utilisation de ng-click plutôt que le vrai coupable.

Je soupçonne que l'erreur devrait dire Error: [$compile:ctreq] Controller 'ngModel', required by directive 'input', can't be found!

Système d'exploitation : Ubuntu 12.04
Navigateurs : Chrome 33, Firefox 28
Versions angulaires testées : 1.2.1, 1.2.15

low inconvenient bug

Tous les 3 commentaires

Je viens de tester cela avec 1.2.16, et le problème se produit là aussi, c'est intéressant !

Vous vous attendriez à ce que l'erreur soit renvoyée pour la directive d'entrée, mais elle fait plutôt référence à ngClick. Très étrange.

Je vais me renseigner.

Il semble similaire au #7059

Je pense que je vois ce qui cause ça, j'aurai une solution dans quelques heures si personne ne me bat.

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