Ho un ViewModel che assomiglia:Come si usa un'istruzione switch in un'associazione?
{
empName: [
{ name: 'NAME1' },
{ name: 'NAME2' }
]
}
voglio visualizzare diversi nomi di reparto secondo la mia empName
mentre scorrendo name
struttura utilizzando un'istruzione switch. in modo tale che l'uscita è:
Dipartimento 1
Dipartimento 2
Ho provato quanto segue:
<ul data-bind="foreach: empName">
<div data-bind="switch: name">
<div data-bind="case: 'Name1'">
Department 1
</div>
<div data-bind="case: 'Name2'">
Department 2
</div>
<div data-bind="case: $default">
</div>
</div>
Ma ottengo il seguente output:
Dipartimento 1
Dipartimento 2
Dipartimento 1
Dipartimento 2
Come posso raggiungere questo obiettivo?
Mi chiedo KO ha switch-case aspettando ... Quindi uno sguardo a una biblioteca . Spero che questo aiuti [Git: knockout-switch-case] (https://github.com/mbest/knockout-switch-case). L'esempio preso in prestito da [Switch-Case-Not-Working] (http://stackoverflow.com/questions/25017862/knockout-switch-case-plugin-is-not-hiding-showing-the-correct-value) è [* * here **] (http://jsfiddle.net/a5H92/1/) – Shubh
Metti il caso switch nel JS. Quindi fai un foreach su una serie di stringhe nell'HTML. – CrimsonChris
@CrimsonChris Pienamente d'accordo. Mantenere la logica più lunga/complessa fuori dalle associazioni. Suggerisco questo nella mia risposta. –