我有CoreModule
(提供常见的功能,例如在HttpClient
之上提供自定义包装服务等 - 作为npm包)和AppModule
(Angular应用程序安装{{ 1}}作为npm包)。
CoreModule
有许多关于配置的事情(即CoreModule
等)。因此,每当我需要从服务器获取数据时,我只需将login URL, base URL for REST endpoints
提供给endpoint URL
公开的服务,然后它会处理其余的事情,例如创建完整的请求URL,进行ajax调用,提供回应等。
现在,有什么方法可以更新(覆盖)我CoreModule
的{{1}}(base URL
}吗?
在Angular 1.x中,我们曾经有CoreModule
食谱。所以,我们可以这样做
AppModule
Angular 4+中是否有类似(或不同)的方法可以实现类似的行为?
问题是,一旦我从客户端应用程序更新/覆盖value
(或任何其他配置变量),它也应该更新为angular.module('myApp').config(['$provide', function($provider){
$provider.decorator('configVarsInCoreModule', ['$delegate', function($delegate){
// give configParamFromClientApp
angular.extend($delegate, configParamFromClientApp);
}]);
}]);
。因此,如果任何其他服务/组件尝试访问变量(甚至来自baseURL
),它应该读取更新的值。