12

我有一個角度應用程序,它具有各種依賴項,如模塊和樣式。在其他域的div中包含角度應用程序,沒有iframe

另一方面,我有多個網站,我想包括這個應用程序與所有依賴項(就像你在一個iFrame中)。 我想包括應用程序在一個div(好像它是一個iframe),但我必須是一個div,沒有iFrame,所以這些其他網站可以爲內聯應用程序選擇自己的風格。

這樣,我可以讓每個網站都包含應用程序,當我將它添加到我的CORS。 Like:

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

使用該div內的所有路由。

在閱讀大量文檔後,我不知道從哪裏開始。 任何幫助,將不勝感激!

+0

不知道如何處理你切換可以用ng-include來完成,但是用ng-router你可以做到。你只需要知道你想包含的HTML snipper的確切URI。 – Kaspar

+0

除了主題,但仍然應該使用頁面(在供應商網站中),您將在其中定義您的應用程序和聲明的所有依賴項,外部CSS,等等。該頁面將用作整個網站的IFrame。易於解決的問題(在單個頁面中實現),安全問題CORS,相同的域名克服,以及響應性Iframe使用:http://npr.github.io/responsiveiframe/,這是純粹的懶惰,IFRAME是一個便宜的有點不正確的做法。 – SilentTremor

+0

你打算將這個應用程序添加到無棱角的網站嗎? –

回答

2

爲什麼不將應用程序包裝在自己的模塊中,並創建一個指令來使用它?然後只需要在其他角度應用程序中使用該模塊。這不是更清潔嗎?

+0

包含一個菜單,它有自己的路由/部分視圖。因此,路由將更改其他域上的所有URL。 –

1

這是不可能的,因爲當Angular JS執行摘要循環時,它是文檔範圍內的,始終假定文檔中只有一個應用程序。

用Angular處理應用程序共享的方法是設計好您的應用程序,然後您可以加載幷包含來自其他角度應用程序的必需模塊。

0

嘗試做以下事情

  • 創建應用程序並將其分配到模塊例如。angular.module( '子應用程序')控制器()配置();
  • 定義你的路由/分音器/控制器等
  • 你只需要訪問應用程序的主模塊,使您可以在其中注入你的模塊名稱
  • 你想運行你的應用程序潛水只有這麼分配子應用控制器到潛水
  • 其他選項,而不是使用ngRoute或UI路線的狀態和諧音使用jQuery隱藏或多個views.Other功能,您可以用角控制器
相關問題