2017-04-18 4 views
2

Ich begann gerade mit eckigen nach dem Lesen der Dokumente zu arbeiten. Ich bin immer noch ein Neuling.Aufruf Variablen aus Typoskript-Datei in HTML-Vorlage [eckig]

Arrays in angular2 Aufruf ist einfach:

einfach zu verwenden * ngfor Element der Elemente und dann {{item.name}}.

Was ist, wenn ich ein einzelnes Objekt, String oder irgendein, aus meiner ts Datei anrufe. Wie kann ich das machen?

Ich habe versucht:

{{myvariable}} 

oder

<div ng-init="let x = myvariable"> {{x.name}}</div> 

und andere Sachen, aber es funktioniert nicht. Vielen Dank im Voraus.

+0

Es gibt keine 'ng-init' in Angular2. Ich verstehe nicht, was du zu erreichen versuchst. Was hast du mit '{{myvariable}}' erwartet? –

+0

Meine Var ist ein Objekt. Ich möchte seinen Namen und ID in HTML zeigen. – user2243952

Antwort

2
{{myvariable.id}} {{myvariable.name}} 

oder wenn die Variable noch nicht initialisiert wird, wenn die Komponente erstellt wird.

{{myvariable?.id}} {{myvariable?.name}} 
+0

danke, es funktioniert. Wie kann html {{myvariable? .id}} anzeigen, wenn es nicht initialisiert ist? – user2243952

+1

"wenn es noch nicht initialisiert ist ...". Das bedeutet, dass "?." Vermeidet, einen Fehler zu bekommen, wenn 'myvariable' 'undefined' oder' null' ist, aber wenn ein Wert zugewiesen wird, wird der Wert angezeigt. –

+0

Ich kann nicht sehen, wie 'co.myvar' mit'

{{myvar.name}}

'verwandt sein könnte. Bitte aktualisieren Sie Ihre Frage und fügen Sie weiteren Code hinzu. –

1

Die Variable, auf die Sie in Ihrer Vorlage zugreifen möchten, sollte als öffentliche Eigenschaft für Ihre Komponente verfügbar sein. z.B. in Ihrer Komponente, wenn Sie myvar als öffentliche Eigenschaft mit einer Anweisung wie public myvar: any haben; und dann einige in den Lebenszyklus-Hooks oder anderen Methoden der Komponente, wenn Sie diese einem Objekt z. in ngOnInit wenn Sie das tun this.myvar = { p1: 2 } dann können Sie Zugriff auf Eigenschaften von myvar in Ihrer Vorlage wie {{}} myvar.p1

+0

danke, meine Variable war nicht öffentlich. Es funktioniert jetzt. – user2243952

Verwandte Themen