AngularJS Richtlinien erroring - Cannot read property 'kompilieren' undefined
Neuling auf AngularJS und versuchen, zu erstellen eine einfache Richtlinie. Der code schlägt fehl mit einem
TypeError: Cannot read property 'kompilieren' undefined. Irgendwelche Vorschläge würde sehr geschätzt werden.
JS
var xx = angular.module('myApp', []);
xx.directive('myFoo',
function(){
return
{
template:'23'
};
});
HTML
<div ng-app="myApp">
<div my-foo></div>
</div>
Finden Sie den code und Fehler hier https://jsfiddle.net/p11qqrxx/15/
AngularJS 1.0.0, wirklich?
Neues zu AngularJS. Ist diese syntax angularjs 1.0? Ich bin mit AngularJS 1.2
Neues zu AngularJS. Ist diese syntax angularjs 1.0? Ich bin mit AngularJS 1.2
InformationsquelleAutor user275157 | 2015-04-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur Ihre rückäußerung.
Schlecht:
Gut:
Besser:
Dies erklärt auch die Grundlagen von dem, was ich sage: jsfiddle.net/L6kmcbnL . Das Problem hier hat nichts zu tun mit eckigen, wirklich, nur, wie javascript funktioniert.
.directive
erwartet als argument eine Funktion zurückgibt, die ein configuration-Objekt für eine Richtlinie. Die ursprüngliche Frage ist Funktion gibtundefined
anstatt die config-Objekt.reproduzieren Sie mit der Richtlinie..ich werde es zu schätzen wissen
Dies ist das beste, das ich tun kann, ohne zu verschwenden eine enorme Menge an Zeit: jsfiddle.net/h3oyzktj . Es spielt keine demo es toll, das ganze zurück, was ist ein Syntaxfehler, bricht die JS -, so ist es nicht möglich, die demo beide arbeiten und nicht zur gleichen Zeit. Wenn du die Klammer in Zeile 8 wird neben dem return-on-Linie 7, funktioniert alles. Das beste was ich bis jetzt tun können. Ignorieren Sie die settimeout manuelle bootstrapping-zwei apps, die ich habe versucht, Ihnen zu Arbeit und gebrochen zugleich.
Es war die Rückkehr...Kann nicht glauben, verbrachte ich knapp 3 Stunden auf diesem. Sobald ich Feste die return-Anweisung begann es zu arbeiten.
InformationsquelleAutor Dylan Watt
Dies ist nicht ein Problem von Winkel-aber die Art und Weise javascript-return-Syntax geschrieben und ausgeführt. Ich habe erstellt ein einfaches video, das zeigt, dieses Problem im detail. Sehen Sie dieses video von diesem link.
https://www.facebook.com/shivprasad.koirala/videos/910570055693818/
Nun für die lange Antwort. In javascript "zurück" und "Rückkehr" sind die gleiche und "{}" ist eine anonyme Funktion.
Wenn Sie schreiben zurück und "{" in der nächsten Zeile seine beiden Aussagen eine Rückkehr und die "{}" ist eine anonyme Funktion.Das Programm kehrt von der "Rückkehr" syntax und der code innerhalb der geschweiften Klammer wird nie ausgeführt, oder wir können sagen, dass es ein unerreichbarer code.So es gibt wieder "undefiniert".
Beim schreiben der geschweiften Klammer nur nach dem return-statment, es behandelt Sie als einen block von code und führt auch den code innerhalb der geschweiften Klammer.
Also alles wo Sie Ihre geschweiften Klammer ist nach der return-Anweisung.
InformationsquelleAutor Shivprasad Koirala
Sie auch bezeichnet AngularJs 1.0.0, die zu alt war, habe ich aktualisiert auf 1.1
Änderung der Richtlinie, um diese
Arbeitet Fiddle
InformationsquelleAutor Pankaj Parkar
xx.Richtlinie('myFoo',
function () {
var obje={
restrict: 'A', //defaults seinen Eine keine Notwendigkeit, es zu erklären.
Vorlage: '23'
zurück obje;
}
});
InformationsquelleAutor ravinder