2016-10-02 3 views
1

Ich versuche, Daten an meine Komponente zu übergeben. Hier ist der Code der Komponente.Eingangsattribut empfängt keine Daten

export class requestDetailComponent{ 
    @Input() id; 
    @Input() name; 
    @Input() email; 
    @Input() purpose; 
    @Input() programme; 
    @Input() language; 
    @Input() comments; 

    visible = false; 
    toggle() { 
    this.visible = !this.visible; 
    } 

und die Vorlage:

<div class="col-sm-5">  
    <label>{{name}}</label> 
</div> 

Hier ist die übergeordnete Komponente, die ich die Daten übergeben

<ul> 
     <li> 
      <request-detail [name]='Salman'></request-detail> 
     </li> 
</ul> 

Ich gehe davon aus, dass die Salman in der untergeordneten Komponente erscheint, aber es doesn 't passieren Was ist das Problem?

Antwort

8

sollten wir uns bewusst sein, dass:

name="Salman" 

für nur Zucker ist

[name]="'Salman'" 

So können Sie beide Optionen.

Siehe auch Angular 2 Template Syntax von Victor Savkin

Wenn Sie die folgende Syntax verwenden:

[name]='Salman' 

dann Sie Salman Variable in der Komponentenklasse deklarieren:

class ParentComponent { 
    Salman = 'Salman' 
} 

Angular2 verwendet Komponente Instanzbereich für den Zugriff auf Variablen in der Ansicht.

Wenn Sie nicht haben die Salman Variable in Ihrer Stammkomponente dann siehe Bild unten

enter image description here