繁体   English   中英

使用AngularJs中的一些参数初始化模块

[英]Initialize a module with some parameters in AngularJs

我正在构建一个有角度的模块,它是一个功能库,用于在后端调用某些Rest Services,问题是该模块是集中式的,Rest Api位于各个领域,每个用户一个。 我想在用其域的字符串初始化的客户端中运行我的模块,因此它们将调用正确的Rest Service。 这是客户端应用程序中根角度js的一个愚蠢示例,我知道这是错误的,但它很好地表达了我想要实现的目标。

angular.module('UserApp', ['MyRestLibrary("user_domain")'];

希望清楚一点,对不起英语不好。 感谢所有的建议

查看提供者: https : //docs.angularjs.org/guide/providers

您可以尝试将服务/工厂转换为提供程序,并在初始化模块时使用域对其进行配置。 像这样:

// Create your service as a provider
angular
    .module('MyRestLibrary')
    .provider('myRestService', function() {

        this.domain = '';

        this.$get = function($http) {
            var domain = this.domain;
            return {
                myRestMethod: function() {
                    return $http.get(domain + '/myRestMethodUrl');
                }
            }
        };

        this.setDomain = function(domain) {
            this.domain = domain;
        };
    });

// Configure your module   
angular
    .module('MyRestLibrary')
    .config(function(myRestServiceProvider) {
        myRestLibraryProvider.setDomain('user_domain');
    });

// Use your module
angular
    .module('UserApp', ['MyRestLibrary']);

这是一个有效的JSFiddle示例: http : //jsfiddle.net/dvj0n539/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM