簡體   English   中英

何時在Angularjs上使用$ rootScope?

[英]When to use $rootScope on Angularjs?

如果在控制器之間共享數據的正確方法是使用工廠/服務,$ rootScope的目的是什么?

$rootScope存在,但它可以用於邪惡

Angular中的作用域形成一個層次結構,原型繼承自樹頂部的根作用域。 通常這可以忽略,因為大多數視圖都有自己的控制器,因此也有范圍。

有時,您希望為整個應用程序提供全局數據。 對於這些,您可以像任何其他范圍一樣注入$rootScope並在其上設置值。 由於范圍繼承自根范圍,因此這些值可用於附加到ng-show等指令的表達式,就像本地$scope上的值一樣。

當然,全局狀態很糟糕, 你應該謹慎使用$rootScope ,就像你希望用任何語言的全局變量一樣。 特別是,不要將它用於代碼,只用於數據。 如果您想在$rootScope上添加一個函數,那么將它放在一個可以在需要的地方注入的服務並且更容易測試幾乎總是更好。

相反,不要創建一個服務,其唯一目的是存儲和返回數據位。

- AngularJS常見問題解答

據我所知。 你可以在多個地方使用$ rootScope。

  • 在工廠中定義的全局設置,然后在視圖中,您可以根據您的條件進行更新。 fx布局操作
  • 你可以在運行中分配$ state。
  • 你可以處理錯誤($ rootScope。$ on on(...)

我希望這將有所幫助。

謝謝

暫無
暫無

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

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