在其他域的div中包含角度应用,不包含iframe

时间:2015-07-01 09:53:55

标签: javascript angularjs iframe angularjs-directive angularjs-ng-include

我有一个角度应用程序,它具有各种依赖项,如模块和样式。

另一方面,我有多个网站,我想在这个应用程序中包含所有依赖项(就像你在iFrame中一样)。 我希望将应用程序包含在div中(好像它是iframe)但我必须是div,而不是iFrame,因此其他网站可以为内联应用程序选择自己的样式。

这样,当我将其添加到我的CORS时,我可以让每个站点都包含该应用程序。 喜欢:

<div ng-include="app_from_other_domain"></div>

使用该div内的所有路由。

在阅读了大量文档后,我不知道从哪里开始。 任何帮助将不胜感激!

3 个答案:

答案 0 :(得分:2)

为什么不将应用程序包装在自己的模块中并创建一个使用它的指令?然后只需要在其他角度应用中使用该模块。那不是更干净吗?

答案 1 :(得分:1)

这是不可能的,因为当Angular JS执行摘要周期时,它是文档范围的,总是假设文档中只有一个应用程序。

与Angular进行应用程序共享的方法是设计你的应用程序调制良好,然后你可以加载并包含其他角度应用程序所需的模块。

答案 2 :(得分:0)

尝试做以下事情

  • 创建您的应用程序并将其分配给模块,例如angular.module(&#39;子应用&#39)。控制器()配置();
  • 定义您的路线/部分/控制器等。
  • 您只需要访问应用程序的主模块,以便可以在其中注入模块名称
  • 您只想运行潜水应用程序,以便将子应用程序控制器分配给潜水
  • 其他选项不是使用ngRoute或ui-route来表示状态和部分使用jquery来隐藏或切换多个视图。您可以使用角度控制器处理其他功能