同一'angular应用程序'在页面上

More than one copy of the same 'angular app' on the page

本文关键字:angular 同一 应用程序      更新时间:2023-09-26

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

对于angular应用程序上的"开发"模式,我们喜欢使用全套gump工具,这些工具允许我们运行因果报应测试、实时重载、编译css等。

对于"部署"模式,我们希望调用gulpfile.js中定义的"build-app-prod"命令,然后将编译后的文件复制到可以引用的文件夹中(app.min.js、app.vendor.js和app.min.css),然后将应用程序(配置略有不同)附加到几个不同的dom元素中的每一个。当用户单击相关的"编辑此"按钮(angular应用程序是编辑界面)时,这些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,并提供一个写出所有所需依赖项和文件引用的方法?

每个Angular规范只能有一个ng应用程序。然而,如果我理解正确的话,你的目标可以通过ngModule实现。你可以在这篇博客文章中阅读更多关于它的信息http://www.simplygoodcode.com/2014/04/angularjs-getting-around-ngapp-limitations-with-ngmodule/