2016-09-08 3 views
4

TLDR: Kann ein @Input optional sein?

So habe ich diese Kind-Komponente, die eine Modalität für das Erstellen einer Transaktion (in Bank Bedingungen) ist, und ich möchte diese Modal zu aktualisieren oder Transaktion zu aktualisieren.Angular2 Unterkomponente mit OPTIONALEM Eingang

Momentan ist das Modal nur eine Gruppe von Eingabefeldern und eine Übergabeschaltfläche zum Erstellen. Was ich erreichen möchte, ist, wenn diese Komponente eine Transaktion als Eingabe erhält, wird es im 'Edit-Modus' sein und wenn es nicht ist, wird es im 'Create-Modus' sein (was bedeutet, dass das Eingabefeld bereits gefüllt ist) Daten im Bearbeitungsmodus und leer im Erstellungsmodus)

Kann ein @Input transaction irgendwie optional sein?

Antwort

2

Ja. Sogar noch mehr, einfach tun dies, falls Sie Änderungen

<div *ngIf="transaction">Some edit stuff</div> 
<div *ngIf="!transaction">Create stuff</div> 

Wenn Sie bestimmte Sachen wollen

ngOnInit() { 
    if(!this.transaction) { 
    // create stuff only 
    } else { 
    // update stuff only 
    } 
} 

EDIT: wie ich es tun würde (in Ihrem Fall)

Dies kann nicht die beste Lösung, aber sollte funktionieren (wenn ich nicht die Syntax falsch bekommen)

So werden alle Klasseneigenschaften verfügbar, nur leer. Wenn Sie sie nicht vordefiniert haben möchten, können Sie sie in einem Konstruktor oder in ngOnInit festlegen.

+0

Was ich nicht in meiner Vorlage passieren möchte, ist doppelte Elemente, ich möchte einfach die '' mit Daten gefüllt werden oder nicht, daher wollte ich mit einem optionalen '@ Input' arbeiten, sagten Sie es ist möglich, wie kann ich es dann erreichen? –

+0

habe ich bearbeitet. Ich weiß wirklich nicht, ob das eine gute Lösung ist, aber so etwas funktioniert für mich –

+0

Ich sehe, so dass ich in der Lage sein werde, eine '

Verwandte Themen