Warum ist AngularJS beschweren sich über ein unerwartetes token in einem Ausdruck, wenn ich versuche, einen string zu verwendet?
Habe ich das folgende Attribut ein div: ng-show="state.name === 'index'"
. Ich habe auch versucht ng-show='state.name === "index"
, aber ich bekomme immer folgenden Fehler:
Syntax Error: Token '
"index"
' ist ein unerwartetes token in Spalte 16 der Ausdruck[state.name === "index"]
ab["index"]
.
Warum?
- Ach, Google-Suchanfragen ("unexpected token angularjs") schickte mir hier, aber OP ' s Problem wurde gelöst, in Winkel 1.1.2 bereits, scheint.
Du musst angemeldet sein, um einen Kommentar abzugeben.
ng-show
nimmt eine "AngularJS-Anweisung." Diese Art von Erklärung hat nur einen==
Betreiber, aber dieser operator verhält sich wie===
. Es ist ein bisschen verwirrend, aber praktisch, dass man nicht Schießen selbst in den Fuß mit seltsamen Typ Zwang.Habe das problem gefunden. Statt
"state.name==='index'"
ich geschrieben haben soll"state.name=='index'"
. pkoziowski.opensource richtig war, dass Sie nicht verwenden können bedingte Anweisungen, aber was genau Sie damit meinen, ist, dass Sie können nicht verwenden Sie if-Anweisungen, oder eine Ablaufsteuerung-Anweisungen für diese Angelegenheit, so dass Sie konnte es nicht tun:Neue Antwort ist nun möglich, für diese Frage: Sie verwenden möglicherweise eine alte version von AngularJS, weil die neueren Versionen haben das nicht.
Sehen hier eine repro der OP ' s Problem mit der neuesten version zum Zeitpunkt der Frage (1.1.0):
JS:
HTML:
Und finden Sie hier den gleichen code, aber mit version 1.5.6, die neueste version zum Zeitpunkt des Schreibens dieser Antwort:
JS:
HTML:
Vermutlich wurde dieses Problem behoben, in 2013, version 1.1.2, weil der change-log erwähnt:
Fußnote: habe ich so formuliert, das oben als eine Antwort auf die Frage. Wenn Sie upvoting meine Antwort, dass es leider wahrscheinlich bedeutet, dass Sie landete auf dieser thread mit einer Suchanfrage wie ich hatte, nur um herauszufinden, dass der "unerwartetes token" - Fehler, den Sie bekommen, ist nicht verursacht durch das Thema OP hier hatte...