Ich versuche, eine Komponente zu schreiben, die in meiner Anwendung wiederverwendet werden soll, die manchmal eine Steuerschaltfläche zeigt und manchmal nicht.Boolean Eingänge zu Winkel 2 Komponente
Idealerweise würde ich dies von der Anwesenheit oder Abwesenheit eines Attributs erhalten, so dass die Verwendung der Komponente etwa wie <generic-component hideControls></generic-component>
aussehen würde, mit einer booleschen Variable in meiner Komponente, basierend darauf, ob dieses Attribut vorhanden ist, aber ich kann keinen Weg sehen, dies zu tun.
Gibt es eine Möglichkeit, dies zu tun?
Ich habe versucht, mit der etwas chaotischeren Version unten (obwohl idealerweise würde ich keinen Wert auf showControls/hideControls setzen);
generic.component.html
<div>
<div>Stuff</div>
<div *ngIf="showControls">Controls</div>
</div>
generic.component.ts
// imports etc.
@Component({
selector: 'generic-selector',
templateUrl: 'generic.component.html'
})
export class GenericComponent implements OnInit {
@Input()
public showControls: boolean = true;
// other inputs and logic
}
Dies schlägt fehl, weil die Nutzung <generic-selector showControls="false"></generic-selector>
Sätze showcontrols als die Zeichenfolge "false", die truthy, anstatt als boolescher Wert. Also muss ich es umgehen, indem ich der Komponente eine Menge Chaos hinzufüge, um die Eingabe aufzunehmen und in einen booleschen Wert zu konvertieren, basierend darauf, ob die Zeichenfolge "falsch" erhalten wird oder nicht. Eine unordentliche Art, dies zu sortieren, wäre wünschenswert, aber ich würde es vorziehen, die andere Option oben zu tun.
'showControls =" {{false}} "' würde auch richtig funktionieren? – Blauhirn
yeap, sollte es funktionieren –