Eröffne AngularJS und versuche, eine einfache Direktive zu erstellen. Der Code schlägt mit a fehl TypeError: Die Eigenschaft 'compile' von undefined kann nicht gelesen werden. Irgendwelche Vorschläge würden sehr geschätzt werden.
JS
%Vor%HTML
%Vor%Sie finden den Code und den Fehler hier Ссылка
Es ist nur Ihre Rückkehr Aussage.
Schlecht:
%Vor%Gut:
%Vor%Besser:
%Vor%Dies ist kein Problem von Angular, aber es ist die Art und Weise, wie Javascript-Syntaxen geschrieben und ausgeführt werden. Ich habe ein einfaches Video erstellt, das dieses Problem genauer veranschaulicht. Sie können dieses Video von diesem Link sehen.
Jetzt für die lange Antwort. In Javascript "zurückgeben" und "zurückgeben" sind eins gleich und "{}" ist eine anonyme Funktion.
Wenn Sie return und "{" in der nächsten Zeile schreiben, gibt es zwei Return-Anweisungen und "{}" eine anonyme Funktion. Das Programm kehrt von der "Return" -Syntax zurück und der Code innerhalb der geschweiften Klammer wird nie ausgeführt wir können sagen, es ist ein unerreichbarer Code. So gibt es "undefined" zurück.
%Vor%Wenn Sie die geschweifte Klammer direkt nach der Rückkehranweisung schreiben, behandelt sie sie als einen Codeblock und führt den Code innerhalb der geschweiften Klammer aus.
%Vor%Es geht also darum, wo sich Ihre geschweifte Klammer nach der return-Anweisung befindet.
Sie haben auch AngularJs 1.0.0 erwähnt, das zu alt war, ich habe es auf 1.1
aktualisiertÄndern Sie die Direktive zu diesem
%Vor%Tags und Links javascript angularjs angularjs-directive