Ich habe das folgende Attribut auf einem div: ng-show="state.name === 'index'"
. Ich habe auch versucht, ng-show='state.name === "index"
, aber ich bekomme immer den folgenden Fehler:
Syntaxfehler: Token '
"index"
' ist ein unerwartetes Token in Spalte 16 des Ausdrucks[state.name === "index"]
ab["index"]
.
Warum?
Ich habe das Problem gefunden. Anstelle von "state.name==='index'"
hätte ich "state.name=='index'"
geschrieben. pkoziowski.opensource hatte recht, da Sie keine bedingten Anweisungen verwenden können, aber was sie damit meinen, ist, dass Sie keine if-Anweisungen oder irgendwelche Kontrollflussanweisungen verwenden können, so dass Sie dies nicht tun könnten:
Eine neue Antwort ist jetzt für diese Frage möglich: Sie verwenden möglicherweise eine alte Version von AngularJS , weil neuere Versionen dies nicht haben.
Sehen Sie hier eine Wiederholung des Problems von OP mit der neuesten Version zum Zeitpunkt der Anfrage (1.1.0):
Und sehen Sie hier den gleichen Code, aber mit Version 1.5.6 , der neuesten Version zum Zeitpunkt der Erstellung dieser Antwort:
Vermutlich wurde dies 2013, Version 1.1.2, behoben, weil das Änderungsprotokoll ist > Erwähnungen:
- $ parse: erlaubt strikte Gleichheit in Winkelausdrücken (a179a9a9, # 908)
Fußnote: Ich habe das Obige als Antwort auf die Frage formuliert. Wenn Sie meine Antwort aufheben, bedeutet das leider wahrscheinlich, dass Sie mit einer Suchanfrage wie ich in diesem Thread gelandet sind, nur um herauszufinden, dass der "unerwartete Token" -Fehler, den Sie bekommen, nicht durch das Problem von OP verursacht wurde ...
Tags und Links angularjs expression syntax-error