【问题标题】:More than one copy of the same 'angular app' on the page页面上有多个相同的“角度应用程序”副本
【发布时间】:2016-05-02 04:49:45
【问题描述】:

我们开发了一个 Angular 1.0 应用程序,我们希望将其部署为另一个非 Angular 网站(一个“经典”asp.net 网站)中的“小部件”。

对于 Angular 应用程序的“开发”模式,我们喜欢使用全套 gulp 工具,这些工具允许我们运行业力测试、实时重载、编译 css 等。

对于“部署”模式,我们希望调用 gulpfile.js 中定义的“build-app-prod”命令,然后将编译后的文件复制到可以引用它们的文件夹(app.min.js, app.vendor.js 和 app.min.css),然后将应用程序(配置略有不同)附加到几个不同的 dom 元素中的每一个。当用户单击相关的“编辑此”按钮(角度应用程序是编辑界面)时,这些 dom 元素将在模式弹出窗口中一次可见。

最好的方法是什么?将这些文件包含到 asp.net 应用程序中,然后用类似的东西附加 Angular 应用程序?

<script src="build-app-prod-folder/app.min.js" />
<script src="build-app-prod-folder/app.vendor.js" />
<link rel="stylesheet" href="build-app-prod-folder/app.min.css">

<!-- .. -->
<div id="firstAngularAppGoeshere" 
ng-app="AngularEditApp" data-param="config1Value" />

<!-- .. -->

<div id="secondAngularAppGoeshere" 
ng-app="AngularEditApp" data-param="config2Value" />

这是正确的方法还是我们应该做其他事情?

例如,是否有可能拥有一个“角度加载器”,让我们基本上只包含一个 js 包含并提供一种方法来写出所有必需的依赖项和文件引用?

【问题讨论】:

    标签: javascript c# asp.net angularjs dom


    【解决方案1】:

    根据 Angular 规范,您只能拥有一个 ng-app。但是,如果我理解正确,您的目标可以通过 ngModule 实现。您可以在这篇博文http://www.simplygoodcode.com/2014/04/angularjs-getting-around-ngapp-limitations-with-ngmodule/ 中阅读更多相关信息

    【讨论】:

    • 谢谢,这是一个非常有用的资源。打算通过 angular.bootstrap() 来看看我们需要做的事情
    猜你喜欢
    • 2016-03-10
    • 2018-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多