Wenn Sie Ihre Anweisung deklarieren, haben Sie den Namen SuperMan
verwendet, dies ist jedoch falsch. Sie sollten superMan
verwenden, da diese in super-man
als Element übersetzt wird.
Jeder Großbuchstabe im Anweisungsnamen wird in einen Bindestrich umgewandelt, da Großbuchstaben in Elementen nicht verwendet werden. Zum Beispiel wird myDirective
in my-directive
übersetzt.
Wie von anderen erwähnt, verwendet AngularJS folgende Normalisierungsregeln:
Streifen x- und Daten von der Vorderseite des Elements / der Attribute. Konvertieren Der Name:,, - oder _-getrennter Name für camelCase.
JavaScript:
%Vor%HTML:
%Vor%Ich habe eure Fiedel aktualisiert, um die richtige Syntax hier jsfiddle zu finden.
Angular normalisiert Direktiven-Namen - mit camelCase in der Direktive und Bindestrich (normalerweise), da html nicht zwischen Groß- und Kleinschreibung unterscheidet , in der Vorlage.
also, wo Sie die Anweisung namens superMan
aufrufen müssen
mit:
Hier ist eine funktionierende Demo
Angular normalisiert das Tag und den Attributnamen eines Elements, um es zu bestimmen welche Elemente mit welchen Direktiven übereinstimmen. Wir beziehen uns typischerweise auf Direktiven nach ihrem code-sensitiven camelCase-normalisierten Namen (z. ngModel). Da HTML die Groß- / Kleinschreibung nicht berücksichtigt, verweisen wir auf Direktiven im DOM durch Kleinbuchstaben, typischerweise mit durch Trennzeichen getrennte Attribute für DOM-Elemente (z. B. ng-Modell).
Der Normalisierungsprozess ist wie folgt:
Entferne X- und Daten von der Vorderseite des Elements / der Attribute. Konvertieren Der Name:,, oder _-getrennter Name für camelCase.
Sie sollten einen camelCase-Namen für Ihre Anweisung haben: zB superMan
, und verwenden Sie eine der folgenden Syntax, um Ihre Anweisung aufzurufen, da HTML die Groß- / Kleinschreibung nicht berücksichtigt:
Demo: Ссылка
Tags und Links javascript angularjs jquery angularjs-directive