如何在AngularJS中外部配置工厂

时间:2012-08-16 19:26:25

标签: javascript angularjs

假设我正在使用AngularJS构建C#应用程序。

我想设置来自服务器端的配置对象,并基本上将该配置注入工厂。工厂所在的另一个.JS文件。

怎么会这样做?

我在这里设置了一个JS小提琴示例:

http://jsfiddle.net/f89tS/7/

2 个答案:

答案 0 :(得分:9)

您可以将模块的常量用于来自服务器的配置对象。使用常量非常简单,您可以在服务器端生成:

app.constant('CONSTANTS', {zoomLevel: 8});

然后,在你的工厂里你可以注入常数:

app.factory('map', function(CONSTANTS){
    return {
        zoomLevel: CONSTANTS.zoomLevel  
    };
});

常量对于服务器生成的设置非常有用,因为一旦生成并发送给客户端,那些就无法改变。

最后,这是工作的jsFiddle:http://jsfiddle.net/pkozlowski_opensource/JZcys/1/

答案 1 :(得分:2)

以下是我通过在自己的run方法中包装引导调用来完成类似操作的示例。

然后使用命名约定从您的aspx页面内联注入配置选项,可以通过c#属性设置。

我不知道这是否是“棱角分明”的方式,但到目前为止效果还不错。

http://jsfiddle.net/xpressivecode/dVM9b/