Angular的模块可选配置

时间:2015-04-27 19:09:14

标签: angularjs

现在我用常量配置我的模块,然后注入它。 F.e。

angular.module('myModule').constant('myConf', {templatesUrl: '/static/otherTemplates'})

或有时

myConf

但我每次都要定义它,即使我不想修改默认配置。

如何为模块添加可选配置?我现在不能跳过在html中定义它 - 注入器会抛出错误,因为constant将是未定义的。

这不是关于定义{ 'var1': 'value1', 'var2': 'value2', 'var3': 'value3', } - 我正在寻找任何方法来为模块提供一些初始值

就像我有配置

{
    'var1': 'value1',
    'var2': 'newValue',
    'var3': 'value3',
}

如果有可能,我想覆盖一些属性,但不要触及其他属性。在我以某种方式将var2分配给'newValue'后,我将

{{1}}

1 个答案:

答案 0 :(得分:0)

下面这个想法怎么样?

在html中

<script src="default.config.module.js"></script>
<script src="my.module.js"></script>

在default.config.module.js
(您可以在单个公共文件中定义默认值。)

angular.module('configModule', [])
.constant('myConf', {val1: 'value1', val2: 'value2', val3: 'value3'})

在my.module.js
(您可以覆盖您喜欢的特定属性)

angular.module('myModule', ['configModule'])
.config(function(myConf){
    myConf.val2 = 'newValue';
})

jsfiddle is here.