Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在AngularJS中外部配置工厂_Javascript_Angularjs - Fatal编程技术网

Javascript 如何在AngularJS中外部配置工厂

Javascript 如何在AngularJS中外部配置工厂,javascript,angularjs,Javascript,Angularjs,假设我正在用AngularJS构建一个C#应用程序 我想设置来自服务器端的配置对象,并基本上将该配置注入工厂。工厂位于另一个.JS文件中的位置 你打算怎么做 我在这里设置了一个JS fiddle示例: 您可以对来自服务器的配置对象使用模块的常量。使用常量非常简单,您可以在服务器端生成: app.constant('CONSTANTS', {zoomLevel: 8}); 然后,您可以在工厂中注入常量: app.factory('map', function(CONSTANTS){ re

假设我正在用AngularJS构建一个C#应用程序

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

你打算怎么做

我在这里设置了一个JS fiddle示例:


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

app.constant('CONSTANTS', {zoomLevel: 8});
然后,您可以在工厂中注入常量:

app.factory('map', function(CONSTANTS){
    return {
        zoomLevel: CONSTANTS.zoomLevel  
    };
});
常数对于服务器生成的设置非常有用,因为一旦生成并发送到客户端,这些设置就无法更改


最后,这里是正在工作的jsFiddle:

这里是一个示例,说明了我是如何通过围绕自己的run方法包装引导调用来完成类似的事情的

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

我不知道这是否是一种“有角度”的方式,但到目前为止,它一直运作良好


我更喜欢这个解决方案,因为它避免了使用全局常量变量。虽然我喜欢常量解决方案,因为它更简单,但它不适合我正在进行的项目。