Meine aktuelle Aufgabe ist es, knockout js bedingten zu ersetzen, wenn Fall (oder wie mehrere, wenn Groß- und Kleinschreibung) wechseln, um mehr als zwei Bedingungen zu überprüfen. Das Szenario ist, wenn der Benutzer authentifiziert wird, sollte das Toggle-Symbol in grüner Farbe sichtbar sein und für nicht authentifizierte Benutzer sollte das Toggle-Symbol in grauer Farbe sein. Unten ist der Code für das Szenario, das ich hier angegeben habe, IsAuthenticatedUser() ist ein Bool-Wert, der immer wahr oder falsch ist. Jetzt muss ich den bool (0 1) -Wert auf flag (0 1 2 3) ändern.Knockout JS: Conditional Switch Case
Bool representation is,
0 - Not Authenticated - grey icon
1 - Authenticated - green icon
Flag Value
0 - Not Authenticated - grey icon
1 - Authenticated - green icon
2 - Authenticated but expired - no icon
3 - Authenticated but not yet license period started - no icon
Für Bool Wert der Knockout JS bedingte Trennung ist wie,
<!-- ko if: IsAuthenticatedUser() -->
<i class="fa fa-toggle-on faIcons green" title="Active"
data-bind="click: function (data, event) { $parent.functiongoeshere }"></i>
<!-- /ko -->
<!-- ko if: !IsNotAuthenticatedUser() -->
<i class="fa fa-toggle-on faIcons fa-rotate-180 toggleOff" title="Inactive"
data-bind="click: function (data, event) { $parent.functiongoeshere }"></i>
<!-- /ko -->
Für Flag-Wert, habe ich so etwas wie unten zu tun,
<!-- ko if: UserFlag == 1 -->
<i class="fa fa-toggle-on faIcons green" title="Active"
data-bind="click: function (data, event) { $parent.functiongoeshere }"></i>
<!-- /ko -->
<!-- ko if: UserFlag == 0 -->
<i class="fa fa-toggle-on faIcons fa-rotate-180 toggleOff" title="Inactive"
data-bind="click: function (data, event) { $parent.functiongoeshere }"></i>
<!-- /ko -->
<!-- ko if: UserFlag == 2 -->
<!-- No ICON -->
<!-- /ko -->
<!-- ko if: UserFlag == 2 -->
<!-- No ICON -->
<!-- /ko -->
Aber das funktioniert nicht, Gibt es also eine andere Möglichkeit zu verwenden, wenn für die Überprüfung mehrerer Bedingungen oder wie können wir Benutzer die Steuerung wechseln, um dieses Szenario zu behandeln.
Jeder Vorschlag wäre hilfreich.
, die funktionieren sollte - brauchen Sie 'ko, wenn: UserFlag()'? Was sagt deine Konsole? – brianlmerritt
Geben Sie genügend Code für einen [mcve] ein, d. H. Einen Modellcode für Ansichten. Ansonsten müssen wir raten, was falsch ist. – Jeroen