Ich versuche, mithilfe von Angular 2.Dynamische Anzeigen von Bootstrap-Klassen in NG2
dynamische Klassen für Bootstrap Warnungen anzuzeigen Wenn die MessageType
1, ich will Erfolgsmeldung und 2 für die Fehlermeldung angezeigt werden soll. Bitte beachten Sie die Probe unter
<div class="alert alert-success" role="alert">
Your data has been saved successfully.
</div>
<div class="alert alert-danger" role="alert">
Error occurred!!! Try again.
</div>
Ich habe versucht, die dynamische Klasse wie die folgenden zu tun, aber es funktioniert nicht funktionieren:
<div [ngClass]="['alert', 'alert-success': MessageType == 1, 'alert-danger' : MessageType == 2]" *ngIf="Message">
{{Message}}
</div>
Add-todo.component.ts
export class TodoAddComponent {
Message: string;
MessageType: number;
AddItem(): void {
// do some processing
this.Message = "New Item has been added";
this.MessageType = 1;
}
}
Wie kann ich die Klasse 'alert-success' oder 'alert-danger' dynamisch im HTML anzeigen? Soll ich es so nach dem Ergebnis machen und es in HTML wieder verwenden?
alertClass: string;
this.alertClass = 'alert-success'; // if it succeeds
this.alertClass = 'alert-danger'; // if it fails
ich über diese Syntax falsch verstanden aufgrund dieses Artikel https://juristr.com/blog/2016/01/learning-ng2-dynamic-styles/Es wird gesagt, dass es verwendet wird, um eine einzelne Klasse hinzuzufügen. Da ich zwei Klassen 'alert' und 'alert-xxx' hinzufüge, habe ich nicht versucht ... wie dumm ich bin. – TTCG
Keine Sorge. Ich mag die [class.xxx] Syntax, (denke ich) es ist ein bisschen einfacher zu lesen. Ich benutze auch Bootstrap und habe festgestellt, dass ich diese Syntax viel verwenden, da Sie eine Klasse haben, die Sie immer z. 'btn' oder 'alert', und Sie möchten basierend auf einer Bindung andere Klassen anhängen. –