2017-01-03 4 views
3

In AngularJS können Sie @ (anstelle von =) in einer Direktive angeben, um an Klartext zu binden. Also, mit field: '@', könnten Sie den scope.field Wert auf den String "Hello, World" mit dem folgenden HTML gesetzt:Winkel 2 - Übergabe von Klartext an Eingabe

<my-tag field="Hello, World" /> 

In Angular 2, ich derzeit tue folgendes:

<my-tag [field]="'Hello, World'" /> 

Beachten Sie die einfachen Anführungszeichen innerhalb die Anführungszeichen. Angular 2 erwartet, dass der Inhalt des Attributs ein Ausdruck ist.

Ich frage mich, ob es eine Abkürzung gibt, um die Attributwerte als Klartext zu behandeln? Dies wird helfen, den Fehler zu vermeiden, die Zitate zu vergessen, die ich mache.

+1

Sie können immer noch die erste Version verwenden. Der Hauptunterschied besteht darin, dass das erste dem DOM hinzugefügt wird, während das zweite in JS konvertiert wird und nicht im DOM sichtbar ist. –

+1

Und wenn Sie 'field =" Hallo, Welt "' verwenden? – jonrsharpe

+0

Also, lassen Sie die Klammern ('[]')? Lass mich es versuchen. –

Antwort

0

Atleast in der neuesten Version, können Sie dies auch in Angular 2 tun:

<my-tag field="Hello, World" /> 
Verwandte Themen