【问题标题】:AngularJS - Dynamic Switch Case in DirectiveAngularJS - 指令中的动态切换案例
【发布时间】:2016-09-20 07:44:29
【问题描述】:

指令

myApp.directive("progressingIndex", function ($compile, $rootScope, constant) {


     var linker = function (scope, element, attrs) {
     var Id = $rootScope.Obj.pictureId;

switch (Id) {
        case constant.picturebox00: $rootScope.Obj.progressing00 = true; break;
        case constant.picturebox01: $rootScope.Obj.progressing01 = true; break;
        case constant.picturebox02: $rootScope.Obj.progressing02 = true; break;
        case constant.picturebox03: $rootScope.Obj.progressing03 = true; break;
        case constant.picturebox10: $rootScope.Obj.progressing10 = true; break;
        case constant.picturebox11: $rootScope.Obj.progressing11 = true; break;
        case constant.picturebox12: $rootScope.Obj.progressing12 = true; break;
        case constant.picturebox13: $rootScope.Obj.progressing13 = true; break;
        case constant.picturebox20: $rootScope.Obj.progressing20 = true; break;
        case constant.picturebox21: $rootScope.Obj.progressing21 = true; break;
        case constant.picturebox22: $rootScope.Obj.progressing22 = true; break;
        case constant.picturebox23: $rootScope.Obj.progressing23 = true; break;
        case constant.picturebox30: $rootScope.Obj.progressing30 = true; break;
        case constant.picturebox31: $rootScope.Obj.progressing31 = true; break;
        case constant.picturebox32: $rootScope.Obj.progressing32 = true; break;
        case constant.picturebox33: $rootScope.Obj.progressing33 = true; break;
}

    $compile(element.contents())(scope);  
    };
    return {
        restrict: "E",
        link: linker
    };
});

这里var Id 为我提供0001 等的值。如何通过附加Id 动态生成switch 语句的案例?

【问题讨论】:

    标签: javascript angularjs switch-statement


    【解决方案1】:
    switch(constant['picturebox'+Id]) {
        case constant['picturebox'+Id]: $rootScope.Obj['progressing'+Id] = true; break;
    }
    

    这足以测试所有情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-22
      • 1970-01-01
      • 1970-01-01
      • 2014-06-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多