简化循环

时间:2015-11-12 15:54:14

标签: angularjs loops

有没有更好的方法在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;
    };
});

是否有简化版本?

感谢。

1 个答案:

答案 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]();
}