1

问题:

我有一个存在多个 ng-apps 的站点,每个 ng-app 都有一个独立的 angular-seed架构的文件夹(这意味着每个文件夹都有自己的 index.html)。现在在它们之间共享模块很痛苦。每个应用程序都不能使用相同的 bower_components 或我编写的任何常用服务。我怎样才能做到这一点?

我的情况的独特性

为什么我将它们分开在不同的文件夹中并使用它们自己的 index.html?在我的情况下,不同的 ng-app 服务于不同类型的用户,他们通常会登录一个 ng-app,一个且只有一个。我不想为一个特定的 ng-app 加载所有文件。

我的试验:

我发现这篇博文有一个可用的架构可供使用。它只是使用一个 MainApp 模块来包含所有子应用程序模块。但是在启动时将所有子应用程序文件加载到一个 index.html 中会不会很昂贵?因为 Angular 在性能方面有其不好的名声。还是我太担心了?

4

1 回答 1

0

问题是您有多个 index.html 并且每个都有不同的模块?我理解正确吗?因此,您可以在链接中的主模块中使用依赖注入。然后,您可以在它们之间共享所有数据。对于路由,您可以像以前一样使用 ngRoute,甚至可以使用更高级的 ui-router。根据您的性能问题,这取决于应用程序的大小,因此您应该提供更多详细信息。而且你不需要一开始就加载所有文件,你也可以在需要的时候动态加载一些文件。您可以像下面这样使用 jQuery getScript:

    if ($("css-selektor").length){
    $.getScript("file.js");
    }
于 2015-09-19T14:07:02.503 回答