AngularJS versucht alle glücklich zu machen!
Einige Leute bevorzugen die Verwendung von Datenattributen, wie data-abc-abc
ich annehme, um Validatoren bei Laune zu halten. Andere bevorzugen die Verwendung von Namespaces wie abc:abc
und andere bevorzugen die Verwendung des tatsächlichen Direktivennamens abcAbc
. Oder sogar alle Kappen ABC_ABC
. Oder Erweiterungsattribute wie x-abc-abc
.
AngularJS normalisiert den in HTML verwendeten Namen, um zu versuchen, alle diese Fälle abzudecken. data-
und x-
werden entfernt, um den Rest camelcased mit :
, -
und _
als Wortgrenzen. Dies abcAbc
ergibt sich aus den oben genannten Fällen, mit denen die in JavaScript deklarierte Direktive nachgeschlagen wird.
Dies alles wird als Attributnormalisierung (US: Attributnormalisierung) bezeichnet und ist in der AngularJS-Dokumentation und im Quellcode enthalten .
Sie sollten in HTML und camelCase durch Bindestriche getrennte Namen für den entsprechenden Namen in der Direktive verwenden.
Wie Sie im Dokument lesen können: Angular verwendet Name-mit-Bindestrichen für Attributnamen und camelCase für den entsprechenden Direktivenamen.
Hier: http://docs.angularjs.org/tutorial/step_00
quelle
Nun, der Direktivenname muss nur in Kleinbuchstaben geschrieben sein, zumindest in AngularJS Version 1.4.9, sonst bekomme ich einen Fehler bei $ inj nicht gefunden
quelle