Syntaxfehler mit ng-show: "token 'false' ist in Spalte {2} des Ausdrucks [{3}] beginnend mit [{4}]"

8

Ich verwende ng-show wie unten gezeigt:

%Vor%

Der Wert von entity.primary kann entweder true oder false sein. Ich erhalte den folgenden Fehler in der Konsole:

  

Syntaxfehler: Das Token 'false' befindet sich in Spalte {2} des Ausdrucks [{3}], beginnend bei [{4}].

Wie kann dieser Fehler behoben werden?

    
forgottofly 16.06.2015, 10:37
quelle

3 Antworten

3

Leider ist Ihr Code ein Konzentrat von Fehlern:

  1. Die ngShow -Direktive kann nur als Attribut und nicht als Element verwendet werden, wie in die Dokumentation und den Code .
  2. Die ngShow -Richtlinie erwartet einen "Ausdruck" , der (im Großen und Ganzen ) Standard-JavaScript-Code: Sie benötigen keine zusätzlichen geschweiften Klammern.
  3. Da Sie in Ihrem Attribut ein Gleichheitszeichen = verwenden, sind Anführungszeichen um seinen Wert obligatorisch, wie in dieser W3C-Hinweis .

Daher lautet der korrekte Code:

%Vor%     
Blackhole 16.06.2015, 10:53
quelle
1

ng-show wertet einen Ausdruck aus. Sie brauchen keine Klammern.

versuche das:

%Vor%

oder das:

%Vor%     
Michael 16.06.2015 10:40
quelle
1

Sie sollten Ausdrücke innerhalb der geschweiften Klammern hinzufügen, aber nicht für ng-show <data-ng-show="entity.primary === true"></div> .

ng-show wird jedoch je nach dem eingestellten Wert entweder als wahr oder als falsch ausgewertet. Sie sollten dies also tun <data-ng-show="entity.primary"></div>

Und wenn Sie die Werte anzeigen müssen, können Sie dies einfach irgendwo hinzufügen

<div>{{entity.primary}}</div> = & gt; gibt true oder false oder den ihm zugewiesenen Wert zurück.

    
Babajide Fowotade 16.06.2015 10:45
quelle