2016-05-25 6 views
0

Ich verstehe nicht, wie man eine Komponente mit einer Eigenschaft macht. Kannst du sehen, was los ist?Wie mache ich eine Anweisung mit einer Eigenschaft in Angular 2?

Ich erhalte diese Fehlermeldung: "Kann nicht zu 'val' binden, da es keine bekannte einheimische Eigenschaft ist"

// app.html

There should be a list of fruit here with a line after each one 
<ul> 
    <template ngFor let-fruit [ngForOf]="fruits"> 
    <li>{{fruit}}</li> 
    <part [val]="5"></part> 
    </template> 
</ul> 

und

part.component.ts

import { Component } from '@angular/core'; 

@Component({ 
    selector: 'part', 
    templateUrl: 'app/part.html' 
}) 
export class PartComponent { 
    // meaningless for now. I just want this thing 
    // to take a parameter 
    val: number; 
} 

plunk

Wenn ich vorschlagen darf, wäre ein Plunk von der Angular-Team zur Verfügung gestellt, die die häufigsten Merkmale der Technologie (wie these, aber in Plunk Form und noch einfacher) demonstriert würde viel nützlicher als the documentation. Wenn Sie so etwas wissen, wäre ich sehr dankbar für die Überweisung.

+1

Antworten unterhalb der Arbeit .... versuchte es selbst durch, aber es fehlte die 'directives: [PartComponent]' Teil http://plnkr.co/edit/lFTSOu?p=preview auch die Kochbücher Abschnitt der Dokumentation hat einige Live-Samples für Komponenten mit eingehenden Werten. – shaunhusain

Antwort

2

Sie benötigen Kind Richtlinien in ihrem Hauptbestandteil deklarieren. Fügen Sie directives:[PartComponent] zu Ihren AppComponent Metadaten hinzu. AND @Input() wird für val Eigenschaft benötigt.

2

Der @Input() Dekorateur fehlt

export class PartComponent { 
    // meaningless for now. I just want this thing 
    // to take a parameter 
    @Input() val: number; 
} 
Verwandte Themen