2014-10-16 67 views
2

所以我最近一直在將一箇舊項目轉換爲Angularjs,但是現在有一個更大的部分我現在不能轉換,但仍然需要在Angular中工作。在Angularjs中堅持使用iframe

爲了解決這個問題,我使用了一個Iframe。現在的問題是,當我切換到不同的頁面,視圖和關聯的iFrame正在被破壞。這意味着當我切換回它將重新加載iFrame,並將失去用戶的位置和他們沒有保存在窗體上的任何數據。通常我通過將所有內容都存儲在服務中來解決這個問題,但是因爲它是一個iFrame,所以這不起作用。

有沒有辦法在模板的上下文之外創建iFrame,因此當我切換回頁面時,我可以調用iFrame來顯示,而不是重新加載它,然後我可以在需要時手動銷燬它?

或者還有更好的方法去做這件事嗎? 謝謝!

+0

當然,沒有辦法在**頁**的上下文之外創建一個iframe,但是如果通過來回移動您使用路由來交換視圖,您肯定可以在主HTML的視圖模板之外創建iframe而不是從服務器重新加載整個頁面。如果不是這樣,那麼我需要更多的上下文,比如當用戶切換頁面時,會不會改變舊數據的內容? – 2014-10-16 19:32:34

+0

您可以嘗試使用'ngInclude'作爲iFrame,而不是將其加載到'ngView'中 – 2014-10-16 19:32:46

回答

1

對於任何感興趣的人,我最終做的是將iFrame放在ng-if中的父模板中。當我轉到路線時,我想要iframe,我將ng-if設置爲true,並在選擇不同的選項卡時讓它保持爲true,並且希望它保留,當我想要切換或不保持時,我設置如果返回false,一切似乎都按預期工作。