Die AngularJS-Direktive zeigt die Vorlage nicht an

8

Hier ist meine AngularJs-Direktive. Es wird erwartet, dass das div in der Vorlage angezeigt wird, aber es zeigt nichts während der Code ausgeführt wird.

Hier ist der HTML

%Vor%

Hier ist die AngularJS-Direktive

%Vor%

Und hier ist die Demo

    
iJade 06.06.2014, 09:23
quelle

3 Antworten

20

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.

    
Joseph Callaars 06.06.2014, 09:28
quelle
1

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:

%Vor%

Hier ist eine funktionierende Demo

    
alonisser 06.06.2014 09:29
quelle
0
  

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:

%Vor%

Demo: Ссылка

    
edi9999 06.06.2014 09:33
quelle