如何为AngularJS模块提供配置?

sde*_*oot 10 configuration dependency-injection angularjs

目前,我正在将传统应用程序与使用AngularJS编写的一些动态部分相结合.我想从我的服务器到我的模块提供一些配置.在这种情况下,我想配置应用程序"基本"URL.可以在特定位置找到所有模板,此位置由服务器确定.

所以我尝试过这样的事情:

angularForm.config(
 function($routeProvider, TemplateLocator) {
    $routeProvider.when('/', {
        controller : TestController,
        templateUrl : TemplateLocator.getTemplate('FormOuterContainer')
 });
});
Run Code Online (Sandbox Code Playgroud)

在服务器上:

<script type="text/javascript">
 angular.module('BoekingsModule.config', []).provider('TemplateLocator', function() {
        this.$get = function() {
            return // something
        }

        this.getTemplate = function(name) { return 'location...'; }
    });
 </script>
Run Code Online (Sandbox Code Playgroud)

但是,我不确定这是正确的方法.简而言之:如何不必更改模块本身的情况下为模块提供一些(外部)配置?

sde*_*oot 0

哇,已经过去很长时间了。我完全忘记了这篇文章。

所以,最后我决定最好使用另一种方法。正如 iwein 所说,将 SPA 与服务器端渲染相结合会使应用程序变得更加复杂。因此,我将 SPA 部分提取到一个单独的应用程序中,该应用程序又从(在我的例子中)JSP 中引用。

当我的模块需要一些额外的配置时,它会使用 REST API 获取它。这样应用程序的 SPA 部分就与服务器端渲染部分完全解耦了。