Angular.js: Fehler mit ungenauen Ursachen: Fehler: [$compile:ctreq] Controller 'ngModel', erforderlich durch Direktive 'ngClick', kann nicht gefunden werden!

Erstellt am 9. Apr. 2014  ·  3Kommentare  ·  Quelle: angular/angular.js

Diese kurze Geige http://jsfiddle.net/x3EtD/7/ zeigt Fehler in der Konsole, aber sie weisen auf ein Problem hin, das nicht existiert. Nämlich, dass die 'ngClick'-Direktive 'ngModel' erfordert, was nicht der Fall ist. Es scheint einen Fehler bei der Art und Weise zu geben, wie angle die Lücken für diese Fehlermeldung ausfüllt.

Das Problem in diesem Fall besteht darin, dass für alle Eingabeelemente eine benutzerdefinierte Direktive erstellt wurde, die ngModel erfordert, das Kontrollkästchen im Beispiel jedoch keines hat. Ironischerweise unterbricht es keine Funktionalität, sondern spuckt irreführende Fehler in der Konsole aus. Das Ändern von requires: 'ngModel' in requires: '?ngModel' behebt den Fehler in der Geige.

Dies aufzuspüren war schwierig, da die Fehler so explizit auf ein Problem mit meiner Verwendung von ng-click hinwiesen und nicht auf den eigentlichen Schuldigen.

Ich vermute, dass der Fehler Error: [$compile:ctreq] Controller 'ngModel', required by directive 'input', can't be found! lauten sollte

Betriebssystem: Ubuntu 12.04
Browser: Chromium 33, Firefox 28
Getestete Winkelversionen: 1.2.1, 1.2.15

low inconvenient bug

Alle 3 Kommentare

Ich habe das gerade mit 1.2.16 getestet, und das Problem tritt dort auch auf, interessant!

Sie würden erwarten, dass der Fehler für die Eingaberichtlinie ausgegeben wird, aber stattdessen verweist er auf ngClick. Sehr merkwürdig.

Ich werde das prüfen.

Es scheint #7059 ähnlich zu sein

Ich denke, ich verstehe, was das verursacht, ich werde in ein paar Stunden eine Lösung haben, wenn mich niemand übertrifft.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen