2015-11-12 6 views
0

Есть ли лучший способ сделать следующие условные обозначения в цикле в контроллере angularjs?Упростите условия Angularjs внутри цикла

angular.forEach(vm.brgUniversalDataRecords, function (value) { 

    if (value.groupValue2 == 1) { 
     vm.graphSwitch1 = value.groupValue3; 
    }; 

    if (value.groupValue2 == 2) { 
     vm.graphSwitch2 = value.groupValue3; 
    }; 

    if (value.groupValue2 == 3) { 
     vm.graphSwitch3 = value.groupValue3; 
    }; 
}); 

Есть ли упрощенная версия?

Спасибо.

+0

Причиной этого вопроса является то, что если у меня есть более сотни vm.graphSwitch –

+0

Так что ваш вопрос на самом деле не о зацикливании так, сколько его о том, как установить переменную 'graphSwitch' чисто в условных внутри петли? – sma

+0

Да, я так думаю. –

ответ

1

Вы можете создать объект, содержащий пару ключевых значений, с вашими действиями.

var Actions = { 
    1 : function() { vm.graphSwitch1 = value.groupValue3; }, 
    2 : function() { vm.graphSwitch2 = value.groupValue3; }, 
    3 : function() { vm.graphSwitch3 = value.groupValue3; } 
}; 

var action = value.groupValue2; 

if (Actions.hasOwnProperty(action)) { 
    Actions[action](); 
} 
+0

Причина этого вопроса в том, что, если у меня есть более сотни vm.graphSwitch? –

Смежные вопросы