簡體   English   中英

我如何制作兩個頁面AngularJS共享相同的$ scope?

[英]How can I make two pages AngularJS share the same $scope?

我想在我的網站上使用angularJS。 但我想在幾頁中使用它。

問題是當有人試圖訪問這些頁面時,他們的行為就像兩個應用程序,因為$ scope與這些應用程序不同。 但我希望通過共享angularJS的相同內存空間將這些頁面用作相同的應用程序。

我怎樣才能做到這一點?

完全不同的頁面加載是不可能的。

但畢竟$ scope意味着一些數據。 您也希望為其他頁面啟用該數據。

您可以做的一件事是當您在頁面之間切換時,您可以將數據($ scope)傳輸到另一個頁面,並且該應用程序(頁面)可以初始化該數據。 然后它將作為共享相同的$范圍工作。 但如果您經常在頁面之間切換,這將是一個糟糕的方法。

一般答案是否定的。 但,

接收事件的瀏覽器的正常流程是它執行相應的JavaScript回調。 一旦回調完成,瀏覽器將重新呈現DOM並返回以等待更多事件。

因此,在重定向到不使用任何此范圍或子范圍的頁面后,垃圾收集器將回收javascript對象(范圍模型)。

因此,沒有簡單的方法可以做到這一點。 除了在重定向頁面時傳遞到新范圍的參數。

但是如果你找到了從范圍創建者停止$ scope.destroy()調用的方法,並將該DOM鏈接到另一個頁面的$ scope。 從概念上講這是可能的(但我不知道該怎么做)。 如果你迫切希望在這種方法中使用角度,那么你可以對此進行一些研究。

否則將$ scope參數或$ scope的必填字段傳遞給另一個應用程序。 那就做你想要的。 但正如@ Simon57所說; 如果你經常在應用程序之間切換,這將是一個糟糕的方法。

更多: http//docs.angularjs.org/guide/scope

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM