在同一个角度模块中重用常量

时间:2015-12-30 08:30:59

标签: angularjs

我已经制作了自定义枚举(参见代码),我想重用声明为FOOBAR的常量,而不必再次在{{1}中写入常量的值数组。我该怎么做呢?

types

我想在var myApp = angular.module('app'); myApp.constant('MyEnum', { FOO: "foo", BAR: "bar", types: [ {id: 0, value: 'foo', label:"Foo"}, {id: 1, value: 'bar', label:"Bar"} ] }); 数组中执行类似的操作:

types

但这样做会给我带来错误。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

您必须为此使用中间变量。也许将它们存储在闭包中,这样就不会用不需要的变量污染范围。例如:

var myApp = angular.module('app');
myApp.constant('MyEnum', function() {

   var __FOO = "foo",
       __BAR = "bar";

    return {

        FOO: __FOO,
        BAR: __BAR,

        types: [
            {id: 0, value: __FOO, label: "Foo"}, 
            {id: 1, value: __BAR, label: "Bar"}
        ]
    }
}());