Wie kann ich debug/dump einen Wert aus einer ng-bind {{ }} Winkel-Ausdruck?

Ist es ein guter Weg, um Sie dump oder überprüfen Sie die Ergebnisse von einem Ausdruck? Manchmal, wenn ich

{{some_expression}}

nichts zeigt sich auf der Seite wo das Ergebnis dieses Ausdrucks erscheinen sollte. Wie kann ich feststellen, ob der Ausdruck, der zurückgegeben wird ein null eine undefined oder eine leere Zeichenfolge ''?

Wenn es ein normales Objekt, wie diesem, wird es zeigen, eine nette Programmierer-freundliche Darstellung des Objekts, das ist toll:

{{ {'a': 1} }}

Aber wenn Sie versuchen zu inspizieren, um einen Ausdruck zu null, nicht definiert oder ", Sie sind alle nicht zu unterscheidend von einander!

{{null}}
{{undefined}}
{{''}}

Also, wie können Sie sagen, welche es war??

Versuchte ich mit JSON.stringify:

{{ JSON.stringify(null) }}

aber JSON scheint nicht verfügbar zu sein von schräg Ausdruck ist, denn es ist eine Methode, die von window und nicht eine Eigenschaft des scope (siehe stellt sich die Frage, über die der Zugriff auf Methoden von Fenster).

Versuchte ich mit typeof:

typeof {}: {{ typeof {'a': 1} }}

aber es führt zu einem Fehler:

Error: [$parse:syntax] Syntax Error: Token '{' is an unexpected token at column 9 of the expression [ typeof {'a': 1} ] starting at [{'a': 1} ].

So, wie ich es bekommen kann-dump, den Wert in die Vorlage mit so etwas wie JSON.stringify (... oder console.log)?


Allgemein gesprochen, ist es ein guter Weg, um debug-Angular-Ausdrücke anderes als trial and error? Seit Eckige Ausdrücke sind also "vergeben", Sie scheinen nicht zu erhöhen, Fehler; Sie nur schweigend zu schlucken, die die Fehler und zurück undefined:

In JavaScript, und versuchen, zu evaluieren, nicht definierte Eigenschaften erzeugt
ReferenceError oder TypeError. Im Winkel, der Auswertung eines Ausdrucks ist
vergeben, undefined und null.

Aber ohne zu sehen, eine Art von Fehlermeldung, wie wollen Sie wissen, welcher Teil des Ausdrucks Eckige hatte Probleme mit?

  • Sie können auch direkt auf die Zuschauer von einem Umfang und ausführen. Nachdem alle {{ expression }} kompiliert, um eine Funktion, die Sie ausführen können. Auch Sie sollten haben eine sehr einfache Logik, die in eckigen Klammern befindlichen Ausdrücke.
InformationsquelleAutor Tyler Rick | 2014-04-04
Schreibe einen Kommentar