2016-09-21 4 views
2

Ich habe eine benutzerdefinierte Komponente, die eine items Eigenschaft hat, definiert als @children für die Komponente:Kann nicht beobachten Eigentum [] Objekt

@children(`${ComponentConfiguration.prefix}tracker-item`) items = []; 

tracker-item ist ein einfaches Ansicht-Modell mit einer @noView Anmerkung und hat nur eine Eigenschaft.

die Einzelteile sind aus meiner Sicht wie folgt definiert:

<tracker-item label="${trackerElementModel.steps[0] | displayDate:'DD MMMM'}"> ${"PURCHASE.RQT_DTE" | t} </tracker-item> 

Das funktionierte perfekt, aber nachdem ich mein Projekt aktualisiert, um es mit aurelia-cli zu bauen, sehe ich jedes Mal, diesen Fehler die Komponente genannt:

TrackerComponent ist der Name meiner benutzerdefinierten Komponente.

Ich verstehe nicht, woher dieser Fehler kommt, weil woanders in meinem Code habe ich die gleiche Definition für eine andere benutzerdefinierte Komponente, die nicht den gleichen Fehler auslösen.

Was ist daran falsch?

+0

Was ist der Wert von ComponentConfiguration.prefix hier? –

Antwort

0

Ich habe es geschafft, die Warnung auf meinem benutzerdefinierten Element loszuwerden.

Scheinbar geschieht dies nur, wenn Sie @ children Annotation auf einer Eigenschaftsebene verwenden. Wenn Sie die Annotation auf eine Klassenebene verschieben, sollte die Warnung verschwinden. In Ihrem Fall würde die Annotation auf Klassenebene in etwa so aussehen:

@children(name: 'items', selector: `${ComponentConfiguration.prefix}tracker-item`) 
export class <yourClass> { 
    ... 
} 
Verwandte Themen