Я хочу написать оператор switch, который будет проходить через первые 2 случая, если они оба истинны. Если нет, сопоставьте только тот, который является истинным.
var vehicle = {main: false, detail: false};
switch(true) {
case (states.data.currentState.indexOf('main.vehicle') !== -1):
vehicle.main = true;
break;
case (states.data.currentState === 'main.vehicle.detail):
vehicle.detail = true;
break;
}
Моя проблема в том, что после первого прерывания оператор switch завершается и не переходит к случаю 2. Однако если я удаляю break из первого случая, он переходит к случаю 2 и применяет vm.vehicle.detail = true; даже если условие по делу не выполнено.
Так что, если я удаляю разрыв в первом случае, мой объект будет выглядеть так или иначе
{ main: true, detail: true }
Если я этого не сделаю, это будет выглядеть так
{ main: true, detail: false }
Как мне выполнить оба условия при однократном запуске коммутатора?