[英]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.